关于在MySQL模式下使用如下LOAD DATA语句导入数据的解释正确的是:

关于在MySQL模式下使用如下LOAD DATA语句导入数据的解释正确的是:

load data /*+ parallel(1) append / local infile '/root/test_data/test.csv’ replace into table tb1 fields terminated by ‘|’ enclosed by “” lines starting by “” terminated by ‘\n’ ignore 1 lines;

A. 该语句会替换原表中主键冲突的数据

B. 该语句最大容忍的错误行数为 1

C. 导入文件存放在 OBServer 服务器上

D. 该语句可以使用旁路导入来加速

选 A. 该语句会替换原表中主键冲突的数据

逐项分析:

A ✓ — 语句中使用了 REPLACE 关键字,当遇到主键或唯一键冲突时,新数据会替换原有数据行,这是 MySQL 模式下 REPLACE 的标准行为。
B ✗ — IGNORE 1 LINES 是跳过文件的前 1 行(通常是表头),不是容忍 1 行错误。
C ✗ — 语句使用的是 LOCAL INFILE,LOCAL 表示文件在客户端,不是 OBServer 服务器上。去掉 LOCAL 才是读取服务器上的文件。
D ✗ — 虽然 hint 里有 append,但 parallel(1) 明确限制为单线程,并没有利用旁路导入的并行加速能力。如果要加速,应该设置更高的 parallel 值。

1 个赞