Ну, и INSERT /*+ PARALLEL */
, и CREATE TABLE .... PARALLEL AS SELECT ...
собираются выполнить прямую загрузку.Таким образом, они в основном собираются использовать один и тот же путь кода для загрузки данных.
CTAS потребуется сначала выполнить DDL для создания таблицы, прежде чем продолжить загрузку.Но это небольшое количество постоянной работы.Чем больше копируемая таблица, тем меньше будет коэффициент.
Наконец, я просто упомяну, что вам следует изучить NOLOGGING
для дальнейшего улучшения производительности.
В CTASВы можете просто добавить ключевое слово NOLOGGING
после ключевого слова PARALLEL
.Для INSERT /*+ PARALLEL */
вам нужно сначала выполнить ALTER TABLE ... NOLOGGING
, чтобы включить его.
Обратите внимание, что вам нужно знать несколько вещей, если вы решите использовать NOLOGGING
.Во-первых, only direct-load сделает nologging.Для таблиц это означает CTAS и INSERT с подсказкой PARALLEL или APPEND.
Во-вторых, рассмотрим последствия восстановления NOLOGGING
.Когда таблица загружается с опцией NOLOGGING, данные NOT записываются в REDO.Таким образом, вы не сможете восстановить данные в таблице, если не используете резервную копию, взятую после данных, успешно загруженных и зафиксированных.
Надеюсь, это поможет.