Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Чем процедуры лучше, чем вызрв из программы.
|
|||
|---|---|---|---|
|
#18+
Уважаемые, опыта у меня мало, наверное поэтому и возник этот вопрос. Чем лучше или хуже использовать процедуры сидящие внутри БД, по сравнению с вызовом SQL комманд прямо из программы. Что показывает опыт и практика, а также научные рекомендации на эту темую или подскажите где об этом можно почитать? 1-ый ответ я придумал сам, при вызове из программы, я могу динамический построить текст SQL и это преимущество по сравнению с константной процедурой, не так ли? Спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2005, 20:40 |
|
||
|
Чем процедуры лучше, чем вызрв из программы.
|
|||
|---|---|---|---|
|
#18+
emilgУважаемые, опыта у меня мало, наверное поэтому и возник этот вопрос. Чем лучше или хуже использовать процедуры сидящие внутри БД, по сравнению с вызовом SQL комманд прямо из программы. Что показывает опыт и практика, а также научные рекомендации на эту темую или подскажите где об этом можно почитать? 1-ый ответ я придумал сам, при вызове из программы, я могу динамический построить текст SQL и это преимущество по сравнению с константной процедурой, не так ли? Спасибо за помощь. Нет не так. Преимущества хп: -безопасность -экономия трафика -OUTPUT параметры -сложная логика -etc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2005, 21:26 |
|
||
|
Чем процедуры лучше, чем вызрв из программы.
|
|||
|---|---|---|---|
|
#18+
Весь код запроса можно скрыть в процедуре,в неё передовать только параметры, а обратно ref cursor. В результате потом можно будет менять запрос без изменения клиента. Инкапсуляция в общем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2005, 23:11 |
|
||
|
Чем процедуры лучше, чем вызрв из программы.
|
|||
|---|---|---|---|
|
#18+
безопасность. немножко сложнее взломать запрос к серверу, правда если в процедуре не используется динамический запрос. все что видно, так только название процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 08:50 |
|
||
|
Чем процедуры лучше, чем вызрв из программы.
|
|||
|---|---|---|---|
|
#18+
Свои две копейки (правда, говорю на примере Oracle, возможны вариации в зависимости от БД). 1. Выше скорость. Любой SQL, посланный на сервер, повергается разбору (parsing) и компиляции. Процедура уже хранится в скомпиленном виде, соответственно, на этом экономим время. 2. Безопасность. По умолчанию, процедура выполняется с правами владельца. Т.е. если посылаю просто SQL, у меня должны быть права на работу с этими объектами (SELECT, INSERT и т.д.). Следовательно, если у вызывающего есть права на UPDATE таблицы, то он может это делать и помимо приложения (в Oracle - например, SQL*Plus - изменить ЛЮБЫЕ данные в таблице). Если работа идет через процедуру, то выдается только GRANT на EXECUTE этой процедуры, т.е. изменять можно только то, что позволит процедура ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 10:54 |
|
||
|
Чем процедуры лучше, чем вызрв из программы.
|
|||
|---|---|---|---|
|
#18+
tru551. Выше скорость. Любой SQL, посланный на сервер, повергается разбору (parsing) и компиляции. Процедура уже хранится в скомпиленном виде, соответственно, на этом экономим время. Для MS SQL2k это не совсем верно. Вначале время на компиляцию тратится, но после некоторого количества вызовов одного и того же запроса включается автопараметризация, и разница по скорости из-за компиляции исчезает. Кроме того, в MS SQL процедура при первом вызове тоже подвергается компиляции - хранится не в откомпилированном виде. Пункт 2 - верен для работы с таблицами. Если например владелец ХП имеет права sysadmin-a, и в ХП имеется что-то вроде вызова xp_cmdshell, то если вызывающий пользователь не входит в группу сисадминов, ХП не сработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 18:53 |
|
||
|
Чем процедуры лучше, чем вызрв из программы.
|
|||
|---|---|---|---|
|
#18+
Вообще то тема полуофф. Использование хранимых процедур предпочтительнее, но это несет в себе некоторые ограничения (не функциональные). А так, запустите SQL Profiler и посмотрите каким образом выполняется ваш динамически построенный запрос, далее BOL и главный форум. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 22:05 |
|
||
|
Чем процедуры лучше, чем вызрв из программы.
|
|||
|---|---|---|---|
|
#18+
Как показывают многочисленные обсуждения на этом форуме по этому вопросу все сходятся на том, что если в проекте есть DBA который грамотно может оформить слой данных на T-SQL или PL/SQL то процедуры предпочтительнее. Если нет, то лучше не заморачиваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 09:42 |
|
||
|
Чем процедуры лучше, чем вызрв из программы.
|
|||
|---|---|---|---|
|
#18+
ShultzeКак показывают многочисленные обсуждения на этом форуме по этому вопросу все сходятся на том, что если в проекте есть DBA который грамотно может оформить слой данных на T-SQL или PL/SQL то процедуры предпочтительнее. Если нет, то лучше не заморачиваться. Некоторое уточнение. Как правило, процедуры все таки пишет не DBA (не его это дело), а разработчик. Другое дело, что в одних случаях и клиентскую, и серверную часть пишет один человек, а в других - разные PS. Хотя согласен - тема не совсем для ADO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 10:34 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=121&tid=1353848]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 170ms |

| 0 / 0 |
