mysql 插入数据有三种方式,如下所示:
•Insert into table ** values(*,*,*)•Insert into table ** values (*),(*)…•写入 tmp.txt 中load data infiles ‘/tmp.txt’ into table ** values (*,*)
insert 单条数据,一次insert 多条数据,或者用load data infile 加载文件的方式。 mysql 参考手册说 load data infile 比 insert 可以快20倍速度。然而
这是 不算任何其他开销的(比如 打开关闭文件时间, 多次向文本文件中写数据的write()时间等)。
经过测试,本人得到如下数据:
第一列是总共操作次数; 第二列是 每次insert 一条数据;第三列是每次insert 1000条;第四列是load file 方式(把所有数据写入txt中,再进行load )
下面显示的是 每秒执行的条数。可以看出load file 比 insert 单条数据 快4—5倍,这是计算了运用load file 的所有开销(包括 open 文本文件,write()文本文件等开销)。
即便load file 方式比insert 快4-5倍,然而也能加快速度不少。问了提高我们系统的插入效率,可以采用load file 的形式。