Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Скажите, оптимизатор туп или я неправ? / 5 сообщений из 5, страница 1 из 1
26.05.2002, 22:59:07
    #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
27.05.2002, 05:41:13
    #32031369
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите, оптимизатор туп или я неправ?
В 2000 все нормально - на такие мелочи оптимизатор не обращает внимание. Тут уж ничего не поделаешь - если вспомнить 6.5, то там вообще чудеса, там леший бродит ...
...
Рейтинг: 0 / 0
27.05.2002, 06:23:32
    #32031376
Dankov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите, оптимизатор туп или я неправ?
Вообще-то странно. Так быть не должно, даже при всей слабости оптимизатора семерки. Может быть, здесь пограничный случай (использовать/неиспользовать индекс), и поэтому так с'ыграло? Для чистоты эксперимента было бы интересно поиметь весьма селективное поле Type (не больше 5%).
...
Рейтинг: 0 / 0
27.05.2002, 07:05:56
    #32031382
Extravert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скажите, оптимизатор туп или я неправ?
1. То Dankov:

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

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

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


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