以下关于旁路导入的说法正确的是:
A. 旁路导入不使用 SQL 引擎,无法对要导入的数据进行约束检查,需要用户确保数据
满足要求
B. 旁路导入不使用 SQL 引擎,因此所有的 SQL 语句都不能使用旁路导入
C. 旁路导入使用并行的方式导入数据,因此一定要指定并行执行
D. 旁路导入是指使用数据库提供的导数工具进行批量数据导入
1 个赞
AD?
选D
AD吗
选C
A. 旁路导入不使用 SQL 引擎,无法对要导入的数据进行约束检查,需要用户确保数据满足要求
正确。 旁路导入属于 DDL 语句(非 DML),不经过 SQL 引擎的逐行约束校验流程。数据直接写入 data 文件,需要用户自行保证数据质量。
B. 旁路导入不使用 SQL 引擎,因此所有的 SQL 语句都不能使用旁路导入
错误。 LOAD DATA /*+ direct/APPEND */ 和 INSERT /*+ append enable_parallel_dml */ 两种 SQL 语句均可通过 Hint 使用旁路导入。SQL 语句本身可以使用旁路导入。
C. 旁路导入使用并行的方式导入数据,因此一定要指定并行执行
错误。 「LOAD DATA 操作中采用了并行设计」,并行是旁路导入的内置设计特性,但 parallel(N) 是可选参数,并非强制指定的必要条件。
D. 旁路导入是指使用数据库提供的导数工具进行批量数据导入
错误。 旁路导入是一个数据写入机制(绕过 SQL 层直接写入 data 文件),不是只有导数工具才能用。LOAD DATA、INSERT…SELECT、OBLoader。OBLoader 只是其中一种使用方式,不能等同于旁路导入的定义。
ABD
