Определяет ли упорядоченная подсказка в oracle также порядок строк, в которых они извлекаются?

#oracle #oracle12c #hints

#Oracle #oracle12c #подсказки

Вопрос:

Я прочитал, что «Упорядоченная подсказка заставляет Oracle объединять таблицы в том порядке, в котором они отображаются в предложении FROM».

Но извлекает ли она строки в определенном порядке?

Например: если я упорядочил подсказку в столбце emp_code, который имеет значения ‘A’, ‘B’ и ‘C’ [давайте рассмотрим, что для получения emp_code объединено более 2 таблиц ].

Всегда ли на выходе будет определенный порядок строк? Например, всегда ли ‘A’ будет первой строкой, а ‘C’ — последней? определяет ли это порядок строк? и если да, то как?

Ответ №1:

Нет. Единственное, что контролирует порядок строк в конечном наборе результатов, — это использование предложения ORDER BY в инструкции SELECT. Подсказки должны влиять на план доступа, выбранный оптимизатором, а не на порядок результирующего набора.

 select emp_id,
       emp_name
from emp
order by emp_id   -- <this is the only thing that controls the order of rows in the result set
;