Quantcast
Channel: SQL.ru: Firebird, InterBase
Viewing all articles
Browse latest Browse all 1677

Повтор полей в сортировке и группировке

$
0
0
FB 2.5.6.

Запрос
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))

Хотя тут очевидно, что надо оставить сортировку по индексу и досортировать натуралом по другим полям.

Viewing all articles
Browse latest Browse all 1677

Trending Articles