С Википедия
История
Таблица DUAL была создана Чаком Вейссом из корпорации Oracle для предоставления таблицы для объединения во внутренние представления:
Я создал таблицу DUAL как базовый объект в Oracle Data Dictionary. Это никогда не предназначалось, чтобы быть замеченным непосредственно, но вместо этого использовалось
внутри представления, которое, как ожидается, будет запрошено. Идея заключалась в том, что вы
мог бы присоединиться к таблице DUAL и создать две строки в результате
для каждой строки в вашей таблице. Затем с помощью GROUP BY
результирующее объединение может быть суммировано, чтобы показать объем памяти для
экстент DATA и для экстента (ов) INDEX. Название, ДВОЙНОЙ, казалось
подходит для процесса создания пары строк только из одного. 1
Это может быть неочевидно из вышесказанного, но исходная таблица DUAL содержала две строки (отсюда и ее название). В настоящее время в нем только один ряд.
Оптимизация
Изначально DUAL был таблицей, и ядро базы данных выполняло дисковый IO для таблицы при выборе из DUAL. Этот дисковый ввод-вывод обычно представлял собой логический ввод-вывод (не связанный с доступом к физическому диску), поскольку дисковые блоки обычно уже кэшировались в памяти. Это привело к большому количеству логических операций ввода-вывода по сравнению с таблицей DUAL.
Более поздние версии базы данных Oracle были оптимизированы, и база данных больше не выполняет физический или логический ввод-вывод для таблицы DUAL, даже если таблица DUAL все еще фактически существует.