Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос о работе оптимизатора запросов
|
|||
|---|---|---|---|
|
#18+
У меня MSSQL 2000 SP2 на NT4sp6. Вопрос всегда ли оптимизатор выбирает правильный план выполнения или нет? Я раньше считал что да. Но сейчас на таком запросе он производит полное сканирование таблицы dbo.Случаи хотя есть индекс IX_КодДиагноза по полю dbo.Случаи.КодДиагноза. SELECT dbo.Счета.КодЛПУ, SUM(dbo.Случаи.Выставлено) AS Сумма, COUNT(*) AS Количество FROM dbo.Случаи INNER JOIN dbo.Счета ON dbo.Случаи.КодСчета = dbo.Счета.КодСчета WHERE (dbo.Случаи.КодДиагноза = N'I11.0') GROUP BY dbo.Счета.КодЛПУ Я понимаю что в некоторых случаях оптимизатор оправдано принимает решение о том, что надо сканировать таблицу. Но когда я поставил принудительное использование индекса запрос выполнился за 4м17с вместо 6м39с SELECT dbo.Счета.КодЛПУ, SUM(dbo.Случаи.Выставлено) AS Сумма, COUNT(*) AS Количество FROM dbo.Случаи (INDEX=IX_КодДиагноза) INNER JOIN dbo.Счета ON dbo.Случаи.КодСчета = dbo.Счета.КодСчета WHERE (dbo.Случаи.КодДиагноза = N'I11.0') GROUP BY dbo.Счета.КодЛПУ И что же теперь делать во всех запросах явно указывать какими индексами пользоваться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2002, 05:03 |
|
||
|
Вопрос о работе оптимизатора запросов
|
|||
|---|---|---|---|
|
#18+
Попробуйте обновить статистику по индексам. Если не поможет попробуйте перестроить индексы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2002, 05:12 |
|
||
|
Вопрос о работе оптимизатора запросов
|
|||
|---|---|---|---|
|
#18+
В том, то и дело что не в одну таблицу ни одной записи не было добавлено с момента последнего выполнения Update statistics для всех таблиц, а индекс IX_КодДиагноза я создал вчера и опять же небыло добавлено ни одной записи и ни одного апдейта не было. Так как база прошлого года, она используется только для сбора статистик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2002, 05:26 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32026813&tid=1823257]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 269ms |
| total: | 387ms |

| 0 / 0 |
