|
Не используется индекс....
|
|||
---|---|---|---|
#18+
Проблема: Есть таблица FAMILY с ключом ID, по полю RN построен ключ. Привыполнении следующего запроса индек по полю rn не используется select s.dsex,f.lname||' '||f.fname as fio from family f left join sex s on s.sex = f.sex order by f.rn план для него PLAN SORT (JOIN (F NATURAL,S INDEX (PK_SEX))) ==================== вот другой запрос: select s.dsex,f.lname||' '||f.fname as fio from family f left join sex s on s.sex = f.sex where f.rn like '98%' план для него PLAN JOIN (F INDEX (FAMILY_IDX_RN),S INDEX (PK_SEX)) Здесь индек используется.... Вопрос: 1. Почему в одном случае используется индек а в другом нет? это ошибка оптимизатора? 2. Можно ли как то указать использовать этот индекс? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2003, 09:51 |
|
Не используется индекс....
|
|||
---|---|---|---|
#18+
...и еще: используется FB 1.0.2.908 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2003, 10:03 |
|
Не используется индекс....
|
|||
---|---|---|---|
#18+
Ничего не понял. По моему, оба плана наилучшим образом соответствуют запросам ... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2003, 12:53 |
|
Не используется индекс....
|
|||
---|---|---|---|
#18+
это что ж значит... при сортировке по полю индекс и не должен использоваться?? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2003, 14:24 |
|
Не используется индекс....
|
|||
---|---|---|---|
#18+
Во-первых, во втором запросе индекси используется не для сортировки и эти запросы сравнивать некорректно. Во-вторых, насколько я понимаю, сначала происходит соединение, а потом сортировка и оптимизатор действительно не умеет в таких случаях использовать индекс. Советую заменить на запрос с подзапросом: Код: plaintext 1. 2. 3.
В третьих, FB достаточно плохо выполняет сотировку, по сравнению с Дятлом. Улучшен ли в этом плане оптимизатор в FB1.5 и как к такому запросу вручную прикрутить хороший план - спрашивайте у господина Еманова на конференции news://forums.demo.ru/epsylon.public.interbase ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2003, 15:17 |
|
|
start [/forum/topic.php?fid=40&fpage=529&tid=1580960]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
16ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 18ms |
total: | 166ms |
0 / 0 |