Использование CREATE TABLE AS SELECT и обычного INSERT для заполнения таблиц отличается подходом к заполнению данных. 1
CREATE TABLE AS SELECT создаёт таблицу со структурой как результат запроса SELECT и заполняет её данными из SELECT. 3 При этом автоматически выполняется вставка данных прямым путём. 1
Обычный INSERT предполагает создание таблицы обычным способом и использование INSERT INTO SELECT для заполнения её записями. 2 При этом во время вставки данных могут использоваться логи транзакций, что может быть медленнее при работе с большими объёмами данных. 1
Кроме того, команда CREATE TABLE AS не копирует индексы и другие ограничения на уровне таблицы. 5 Если этот функционал необходим, рекомендуется использовать стандартную команду CREATE TABLE с выражением LIKE. 5