|
|
|
Быстродействие запроса в QA и аналогичной запросу хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
Товарищи. Проблема в следующем: есть сложный запрос с использованием функций (UDF). В Query analizer'e он выполняется около 7 секунд. Будучи помещенным в хранимую процедуру (т.е. рабочий вариант) он выполняется около 30 секунд. Вот затык... если в хр.пр. указать SET FORCEPLAN ON, то время сокращается до 14-18 секунд. Помогите, отцы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 17:45:46 |
|
||
|
Быстродействие запроса в QA и аналогичной запросу хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
Таки запрос какой? Хранимую создаете в том же сеансе QA, что и отдельный запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 17:55:02 |
|
||
|
Быстродействие запроса в QA и аналогичной запросу хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
запрос сложный, из нескольких таблиц, вьюшек и функций. Нет смысла его тут приводить... Хранимую я создаю из Enterprise manager'a. Дело, по-моему, не в этом. Не понятно, почему запрос выполняется быстрее хранимой. И это уже не первый такой случай. Видимо, пробуксовывает оптимизатор запросов. Вот. Хотелось бы услышать комментарии по этому поводу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2002, 09:48:21 |
|
||
|
Быстродействие запроса в QA и аналогичной запросу хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
Дело осложняется тем, что запрос всегда выполняется по оптимальному на текущий момент плану, а процедура исполняется по плану, получившемуся при первом запуске. Если при последующих запусках процедуры значения параметров другие, да еще и меняющие алгоритм (условные переходы от значения параметра), то процедура будет выполнена по не самому эффективному плану, а порой и вообще по крайне неэффективному плану. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2002, 09:58:18 |
|
||
|
Быстродействие запроса в QA и аналогичной запросу хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
Перекомпилить процедуру надо. Откройте в QA на редактирование ALTER PROCEDURE и запустите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2002, 10:11:23 |
|
||
|
Быстродействие запроса в QA и аналогичной запросу хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
Перекомпилить я пробовал несколько раз, не помогает... Сам я думаю (со товарищи), что необходимо оптимизировать все составляющие этой хранимой процедуры (вьюшки, функции и т.п.). Вот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2002, 10:49:49 |
|
||
|
Быстродействие запроса в QA и аналогичной запросу хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
У меня была подобная проблема - сложный запрос из процедуры работал медленее. Посмотрел план и пришел к выводу: если запрос к виду, построенному на основе индексипрованой таблицы - то почему то сервер забывает про индексы. Это хорошо видно в плане нашел 2 выхода: 1 . указал в SELECTE жестко индекс, и всё заработало. 2 . не использовать ВИД в селекте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2002, 11:46:11 |
|
||
|
Быстродействие запроса в QA и аналогичной запросу хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
Тогда надо обновить статистики. sp_updatestats ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2002, 12:11:47 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32056467&tid=1819713]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 328ms |

| 0 / 0 |
