INSERT
文を使用して実行できる機能は表8-5にまとめられます。
表8-5 INSERT機能のまとめ
挿入の種類 | パラレル | シリアル | NOLOGGING |
---|---|---|---|
従来型 |
不可 パラレルDMLを有効にして |
可 |
不可 |
ダイレクト・パス
( |
可能(次の指定が必要)
さらに、次のいずれか1つの指定
または次の指定 強制的に |
可能(次の指定が必要)
|
可能(次の指定が必要) パーティションまたは表に対する |
パラレルDMLが有効で、PARALLEL
ヒントがあるかPARALLEL
属性がデータ・ディクショナリの表に設定されている場合、制限が適用されないかぎり挿入操作はパラレルで行われ追加されます。PARALLEL
ヒントまたはPARALLEL
属性のいずれかがない場合、挿入操作はシリアルで行われます。自動DOPでは、パラレルDMLが有効化または強制される場合にかぎり、SQL文のDML部分のみがパラレル化されます。
パラレルDMLが有効化される場合は、NOAPPEND
ヒントを使用してパラレルの従来型挿入操作を実行できます。たとえば、/*+
noappend
parallel
*/
をSQL INSERT
文で使用して、パラレルの従来型挿入を実行できます。
SQL> INSERT /*+ NOAPPEND PARALLEL */ INTO sales_hist SELECT * FROM sales;
パラレルの従来型挿入操作の利点は、ダイレクト・パスINSERT
の制約なしにオンライン操作を実行できることです。パラレルの従来型挿入操作のデメリットは、ダイレクト・パスINSERT
よりもプロセスの速度が遅いことです。