|
|
|
Навигация по индексу FB3
|
|||
|---|---|---|---|
|
#18+
В FB 3 снова сделали эффективную навигацию по индексу как в 1.5. Однако оптимизатор путается если для одного столбца созданы сразу ASC и DESC индексы скрипты Код: sql 1. 2. 3. 4. 5. 6. 7. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: sql 1. 2. 3. 4. 5. План PLAN (T1 ORDER RDB$PRIMARY1) Тут всё хорошо. Код: sql 1. 2. 3. 4. 5. План PLAN (T1 ORDER T1_IDX_NUM INDEX (T1_IDX_DESC_NUM)) я ожидал PLAN (T1 ORDER T1_IDX_NUM) То ли оптимизатор по какой-то причине хватает разнонаправленные индексы, то ли в придачу к навигации по индексу сканирует лишний на мой взгляд индекс T1_IDX_DESC_NUM. Попробуем поменять запрос на такой Код: sql 1. 2. 3. 4. 5. План PLAN (T1 ORDER T1_IDX_DESC_NUM INDEX (T1_IDX_NUM)) Как видим план зеркально изменился. но всё также использует разнонаправленные индексы. where num > 3 или where num < 3 на план запроса не влияет. Прав ли я в своих суждениях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2013, 00:18:59 |
|
||
|
Навигация по индексу FB3
|
|||
|---|---|---|---|
|
#18+
похоже на недоработку. Разнонаправленность тут вроде бы не причем, если будет два ASC индекса создано, то план тоже будет ORDER-INDEX вместо ORDER. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2013, 13:34:01 |
|
||
|
Навигация по индексу FB3
|
|||
|---|---|---|---|
|
#18+
исправил, просьба проверить в разных вариациях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2013, 13:18:59 |
|
||
|
Навигация по индексу FB3
|
|||
|---|---|---|---|
|
#18+
dimitr, спасибо, потестим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2013, 13:45:34 |
|
||
|
Навигация по индексу FB3
|
|||
|---|---|---|---|
|
#18+
dimitr, теперь стало намного лучше. Оптимизатор правильно разруливает навигацию по индексу даже для многосегментных индексов. Однако это всё хорошо для 1 таблицы. Как только появляется JOIN, то оптимизатор подводит. Вот пример Код: sql 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: sql 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Т.е. здесь по идее надо было бы поменять порядок соединения таблиц. Помниться где полгода назад, ты выпускал тестовый билд 2.5, где это работало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2013, 22:21:29 |
|
||
|
Навигация по индексу FB3
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисКак только появляется JOIN, то оптимизатор подводит. по сравнению с желаемым или с поведением ФБ 2.5 или 1.5? Симонов ДенисТ.е. здесь по идее надо было бы поменять порядок соединения таблиц. Помниться где полгода назад, ты выпускал тестовый билд 2.5, где это работало. это было новое поведение, отсутствующее ранее. Мы сейчас не его тестируем, а восстанавливаем функционал на уровне 1.5 или чуть лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2013, 22:28:59 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38484690&tid=1564096]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
182ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 439ms |

| 0 / 0 |
