FB 2.5.6.
Запрос
дает план:
Запрос
дает план
Вопросы:
1. Имеет ли смысл делать ли тикет, чтобы оптимизатор убирал повторы условий сортировки и группировки?
2. Является ли багом, что оптимизатор при втором условии отбрасывает индекс и переходит на натуральный перебор?
P.S. Проверил другое второе поле:
Все равно переходит на NATURAL:
Хотя тут очевидно, что надо оставить сортировку по индексу и досортировать натуралом по другим полям.
Запрос
SELECT R.RDB$RELATION_NAME FROM RDB$RELATIONS R ORDER BY R.RDB$RELATION_NAME
дает план:
PLAN (R ORDER RDB$INDEX_0)
Запрос
SELECT R.RDB$RELATION_NAME FROM RDB$RELATIONS R ORDER BY R.RDB$RELATION_NAME, R.RDB$RELATION_NAME
дает план
PLAN SORT ((R NATURAL))Такое же изменение плана при группировке.
Вопросы:
1. Имеет ли смысл делать ли тикет, чтобы оптимизатор убирал повторы условий сортировки и группировки?
2. Является ли багом, что оптимизатор при втором условии отбрасывает индекс и переходит на натуральный перебор?
P.S. Проверил другое второе поле:
SELECT R.RDB$RELATION_NAME FROM RDB$RELATIONS R ORDER BY R.RDB$RELATION_NAME, R.RDB$FORMAT
Все равно переходит на NATURAL:
PLAN SORT ((R NATURAL))
Хотя тут очевидно, что надо оставить сортировку по индексу и досортировать натуралом по другим полям.