powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос о работе оптимизатора запросов
3 сообщений из 3, страница 1 из 1
Вопрос о работе оптимизатора запросов
    #32026809
Фотография Алексей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня 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.Счета.КодЛПУ

И что же теперь делать во всех запросах явно указывать какими индексами пользоваться?
...
Рейтинг: 0 / 0
Вопрос о работе оптимизатора запросов
    #32026811
Serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте обновить статистику по индексам. Если не поможет попробуйте перестроить индексы.
...
Рейтинг: 0 / 0
Вопрос о работе оптимизатора запросов
    #32026813
Фотография Алексей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том, то и дело что не в одну таблицу ни одной записи не было добавлено с момента последнего выполнения Update statistics для всех таблиц, а индекс IX_КодДиагноза я создал вчера и опять же небыло добавлено ни одной записи и ни одного апдейта не было. Так как база прошлого года, она используется только для сбора статистик.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос о работе оптимизатора запросов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]