デフォルトでは、Oracle と互換性のある PolarDB データベースは、テーブル内の最初の使用可能な空き領域に新しいデータを追加します。 スペースは、バキュームされたレコードによって空になります。 INSERT または SELECT 文に続く APPEND ディレクティブは、サーバーに中間テーブルの空き領域をバイパスし、新しい行をテーブルの末尾に付けるように指示します。 このオプティマイザーのヒントにより、複数のエントリをロードするパフォーマンスが向上します。

APPEND オプティマイザーのヒントの構文は次のとおりです。

/*+APPEND*/

たとえば、Oracle データベースと互換性のある次の文は、サーバーに、INSERT 文のデータを sales テーブルの最後に追加するように指示します。

INSERT /*+APPEND*/ INTO sales VALUES
(10, 10, '01-Mar-2011', 10, 'OR');

Oracle と互換性のある PolarDB データベースは、単一の INSERT 文を使用して複数の行を追加するときに APPEND ヒントをサポートします。

INSERT /*+APPEND*/ INTO sales VALUES
(20, 20, '01-Aug-2011', 20, 'NY'),
(30, 30, '01-Feb-2011', 30, 'FL'),
(40, 40, '01-Nov-2011', 40, 'TX');

APPEND ヒントは、INSERT INTO 文の SELECT 句に含めることもできます。

INSERT INTO sales_history SELECT /*+APPEND*/ FROM sales;