Фасет FORWARD¶
При указании фасета FORWARD можно получить значение опции FORWARD, с которой
запрос гарантированно будет выполнен. Подробнее об опции FORWARD можно
прочитать в разделе параметры для DQL-запросов.
Примеры использования¶
Подготовка тестового окружения
Примеры использования команд включают в себя запросы к тестовым таблицам.
OFF¶
EXPLAIN (FORWARD) SELECT * FROM warehouse WHERE id = 42;
forward analysis (on > ro_to_rw > off):
forward = off
Из вывода следует, что запрос можно гарантированно исполнить без пересылок.
Такое возможно, когда бакет, соответствующий ключу 42, лежит на узле, где
выполняется EXPLAIN.
RO_TO_RW¶
EXPLAIN (FORWARD) SELECT * FROM warehouse WHERE id = 42;
forward analysis (on > ro_to_rw > off):
forward = ro_to_rw
Вывод EXPLAIN указывает на то, что запрос можно гарантированно исполнить с одной
пересылкой. Следовательно, запрошенная порция данных не лежит на текущем узле.
ON¶
Данное значение характерно для запросов, выполняющих полное сканирование шардированных таблиц. Например:
EXPLAIN (FORWARD) SELECT * FROM warehouse ORDER BY 1;
forward analysis (on > ro_to_rw > off):
forward = on
Из вывода фасета FORWARD следует, что при исполнении запроса будет совершено
более одной пересылки.