Hello, Alexey!
Alexey Popov wrote:
Очевидно оптимизатор не понимает, что в данном случае order by a
эквивалентен order by b,a.
с чего бы это эквивалентен???
Строка INDEX (IDX_A, IDX_B) как я понимаю означает слияние битовых масок.
ага
При этом выходной поток можно автоматически сделать отсортированным по
IDX_A.
в плане это написано:
EVENTS ORDER IDX_A
И вот что оказалось. Максимальную для данного запроса даёт план
PLAN SORT ((EVENTS INDEX (IDX_B))), который означает выборку по индексу
IDX_B, и сортировку для выхода.
дык, это не секрет
> Очевидно что быстрее отсортировать
> небольшой массив в памяти чем сливать битовые маски.
не в битовых масках дело. а в table order index:
http://www.ibaseforum.ru/viewtopic.php?f=4&t=4175
--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34