powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Скажите, оптимизатор туп или я неправ?
5 сообщений из 5, страница 1 из 1
Скажите, оптимизатор туп или я неправ?
    #32031352
Фотография Extravert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые коллеги! Вопрос скорее риторический.
Всю историю форума по теме "индексы" я изучил, отсылать туда не надо.

Вот есть индекс:
CREATE INDEX TypeDoc_DTI ON DOCUMENT (Type, TypeDoc)

А вот два тестовых запроса:
select top 10 * from document where type = 700 and typedoc = 10622
и
select top 10 * from document where typedoc = 10622 and type = 700

Как мы все и предполагали, только первый запрос использует индекс.

А чего, ОПТИМИЗАТОР правда не может сообразить,
что второй запрос надо элементарно СОПТИМИЗИРОВАТЬ
и использовать-таки индекс?

(У меня семерка.)
...
Рейтинг: 0 / 0
Скажите, оптимизатор туп или я неправ?
    #32031369
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В 2000 все нормально - на такие мелочи оптимизатор не обращает внимание. Тут уж ничего не поделаешь - если вспомнить 6.5, то там вообще чудеса, там леший бродит ...
...
Рейтинг: 0 / 0
Скажите, оптимизатор туп или я неправ?
    #32031376
Dankov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще-то странно. Так быть не должно, даже при всей слабости оптимизатора семерки. Может быть, здесь пограничный случай (использовать/неиспользовать индекс), и поэтому так с'ыграло? Для чистоты эксперимента было бы интересно поиметь весьма селективное поле Type (не больше 5%).
...
Рейтинг: 0 / 0
Скажите, оптимизатор туп или я неправ?
    #32031382
Фотография Extravert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. То Dankov:

Ну я не знаю... Поле Type конечно не очень селективное, в таблице 493085 записей, а Type'ов - 34, ну и что? Зато TypeDoc'ов много.
Запросы-то - одинаковые.

Я просто не могу понять, ему (оптимизатору) чего, лень для второго запроса условия местами переставить, он же не слепой, задачи и посложнее решает?

Проблема в том, что у меня в системе есть запросы и так и так построенные (не мной), я ж не могу индексы и такие и такие держать!
А для комбинации трех, четырех полей ?
...
Рейтинг: 0 / 0
Скажите, оптимизатор туп или я неправ?
    #32031395
Dankov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В индексе первое поле должно быть наиболее селективным, иначе он бесполезен. В данном случае оптимизатор подсчитал (IMHO), что с индексом, что без - примерно одинаково, т.е не факт, что с индексом будет быстрее.
Так что с такой низкой селективностью поля Type наезд на оптимизатор напрасен.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Скажите, оптимизатор туп или я неправ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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