|
|
|
Скажите, оптимизатор туп или я неправ?
|
|||
|---|---|---|---|
|
#18+
Уважаемые коллеги! Вопрос скорее риторический. Всю историю форума по теме "индексы" я изучил, отсылать туда не надо. Вот есть индекс: 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 Как мы все и предполагали, только первый запрос использует индекс. А чего, ОПТИМИЗАТОР правда не может сообразить, что второй запрос надо элементарно СОПТИМИЗИРОВАТЬ и использовать-таки индекс? (У меня семерка.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2002, 22:59:07 |
|
||
|
Скажите, оптимизатор туп или я неправ?
|
|||
|---|---|---|---|
|
#18+
В 2000 все нормально - на такие мелочи оптимизатор не обращает внимание. Тут уж ничего не поделаешь - если вспомнить 6.5, то там вообще чудеса, там леший бродит ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2002, 05:41:13 |
|
||
|
Скажите, оптимизатор туп или я неправ?
|
|||
|---|---|---|---|
|
#18+
Вообще-то странно. Так быть не должно, даже при всей слабости оптимизатора семерки. Может быть, здесь пограничный случай (использовать/неиспользовать индекс), и поэтому так с'ыграло? Для чистоты эксперимента было бы интересно поиметь весьма селективное поле Type (не больше 5%). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2002, 06:23:32 |
|
||
|
Скажите, оптимизатор туп или я неправ?
|
|||
|---|---|---|---|
|
#18+
1. То Dankov: Ну я не знаю... Поле Type конечно не очень селективное, в таблице 493085 записей, а Type'ов - 34, ну и что? Зато TypeDoc'ов много. Запросы-то - одинаковые. Я просто не могу понять, ему (оптимизатору) чего, лень для второго запроса условия местами переставить, он же не слепой, задачи и посложнее решает? Проблема в том, что у меня в системе есть запросы и так и так построенные (не мной), я ж не могу индексы и такие и такие держать! А для комбинации трех, четырех полей ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2002, 07:05:56 |
|
||
|
Скажите, оптимизатор туп или я неправ?
|
|||
|---|---|---|---|
|
#18+
В индексе первое поле должно быть наиболее селективным, иначе он бесполезен. В данном случае оптимизатор подсчитал (IMHO), что с индексом, что без - примерно одинаково, т.е не факт, что с индексом будет быстрее. Так что с такой низкой селективностью поля Type наезд на оптимизатор напрасен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2002, 09:18:52 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32031382&tid=1822565]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
184ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 478ms |

| 0 / 0 |
