数据库在执行 INSERT,UPDATE 和 DELETE 操作时需要以下两步:
获取需要处理的数据
对于 delete 操作,当删除的表包含一个引用约束时,不能并行执行。
执行
insert、update、delete 操作 对于并行 INSERT 操作,如下两个语句可以并行化:
INSERT INTO tabname SELECT * FROM tabname1;
SELECT 操作可以并行,当表 tabname 有分片情况时,INSERT 操作才能并行。
SELECT * FROM tabname INTO TEMP temptabname;
当配置 DBSPACETEMP 为多个临时表空间时,INSERT 操作自动并行运行。
在如下情况下,INSERT 操作不能并行化:
- 如果 SELECT …FROM 语句不能并行运行;
- 如果目标表有引用约束情况或者有 TRIGGER 定义;
- 如果目标表是一个远程表;
- 如果目标表有 FILTER 约束;