|
Positioning by key или Positioning at index start
|
|||
---|---|---|---|
#18+
ASE 15.0.2 В чем отличие сообщений : Positioning by key и Positioning at index start Какое сканирование более выгодно с точки зрения производительности ? Сканирую 2 таблицы с одинаковыми уникальными индексами, объединяя их по полям индексов. Та которая стоит первой будет сканироваться Positioning by key нижняя Positioning at index start. Если поменять местами то будет наоборот. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2012, 12:00 |
|
Positioning by key или Positioning at index start
|
|||
---|---|---|---|
#18+
JenyaD, Positioning by key - это позиционирование по дереву индекса. Более выгодное. Positioning at index start - это сканирование всего индекса (что-то между table scan и Positioning by key) По остальным вопросам можно ответить только после увиденного запроса! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2012, 14:30 |
|
Positioning by key или Positioning at index start
|
|||
---|---|---|---|
#18+
Тестовый пример : Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
То что я выше описал наблюдалось, когда таблицы были пустыми. После заполнения - в обоих случаях Positioning at index start ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2012, 15:52 |
|
Positioning by key или Positioning at index start
|
|||
---|---|---|---|
#18+
JenyaD, При таких запросах ничего криминального нет!!! Первая таблица сканируется полностью, так как нет условия (в where только соединение таблиц). Так как вы запрашиваете только поля, которые входят в индекс, происходит сканирование индекса(Positioning at index start) а не table scan. Вторая таблица уже по всем законам nested loop join присоединяется к первой. P/S: По-хорошему для такого запроса оптимальным выбрать стратегию merge join. Но это тоже надо проверять. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2012, 09:05 |
|
|
start [/forum/topic.php?fid=55&msg=37848488&tid=2010112]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
154ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 255ms |
total: | 500ms |
0 / 0 |