默认情况下,POLARDB for Oracle 会将新数据添加到表中第一个可用的空间(由抽空的记录腾出空间)。在 INSERT 或 SELECT 命令后包括 APPEND 指令以指示服务器绕过中间表可用空间,并将新行附加到表的末尾。此optimizer hint在批量加载数据时特别有用。

语法如下:

/*+APPEND*/

例如,以下命令与 Oracle 数据库兼容,指示服务器将 INSERT 语句中的数据附加到 sales 表末尾:

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

请注意,在单个 INSERT 语句中添加多行时,POLARDB 兼容Oracle数据库支持 APPEND hint:

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 hint还可包括在 INSERT INTO 语句的 SELECT 子句中:

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