快速插入大量数据:Oracle批量INSERT法(oracle批量insert数据)
Oracle 数据库是常用的一种关系型数据库,想要快速插入大量数据,Oracle 提供了多种插入数据的方法,其中,使用批量 INSERT 法可以大幅提高插入数据的速度。
Oracle 批量插入数据时,使用传统的 INSERT 语句,将几百行数据添加到一条语句中,可以大大提高插入速度,例如:
INSERT INTO T1 (c1, c2)
VALUES (v11, v12), (v21, v22),
(v31, v32), ...
(v99, v102);
上面的代码将向表T1中插入99条数据,每行有两个值,且以逗号分隔。其中,v11,v12 表示列c1,c2 插入的数值。
插入大量数据时,可以将这些数据先存放在文件中,然后使用SQL*LOAllader加载这些文件。比如,39kb.csv文件包含了400条数据,可以用下面的命令加载:
SQLLOADER CONTROL=39kb.ctl
这些文件由两部分组成:
1.39kb.ctl —— 这是控制文件,它包含所有数据加载所需的参数,比如目的表、数据文件路径等;
2..csv —— 这是SQL * LOAllader控制文件所指定的源文件,它往往以.csv 的格式存储。
执行SQL * LOAllader可以快速把数据加载到Oracle数据库中,而不必每次都使用 INSERT 语句,从而大幅提高插入数据的速度。
显然,批量插入数据是加载大量数据的一种有效手段,且可以大幅提高插入性能,将插入数据效率提高不少。