Согласно плану выполнения, два запроса различны. Например, запрос:
select count(*) from USER
даст мне:
INDEX (FAST FULL SCAN) 3.0 3 453812 3457 1 TPMDBO USER_PK FAST FULL SCAN INDEX (UNIQUE) ANALYZED
Как видите, мы нажимаем USER_PK, который является первичным ключом этой таблицы.
Если я сортирую по неиндексированному столбцу:
select count(*) from USER ORDER BY FIRSTNAME --No Index on FIRSTNAME
Я получу:
TABLE ACCESS (FULL) 19.0 19 1124488 3457 24199 1 TPMDBO USER FULL TABLE ANALYZED 1
То есть мы провели полное сканирование таблицы (НАМНОГО более высокую стоимость узла)
Если я сортирую по первичному ключу (который уже является индексом), Oracle достаточно умен, чтобы использовать индекс для такой сортировки:
INDEX (FAST FULL SCAN) 3.0 3 453812 3457 13828 1 TPMDBO USER_PK FAST FULL SCAN INDEX (UNIQUE) ANALYZED
Что очень похоже на первый план выполнения.
Итак, ответ на ваш вопрос абсолютно нет - они не одинаковы. Однако упорядочение по индексу, который Oracle все равно ищет, вероятно, приведет к тому же плану запросов.