对于一些数据量较大的系统,面临的问题除了是查询效率低下,还有一个很重要的问题就是插入时间长。我们就有一个业务系统,每天的
对于一些数据量较大的系统,面临的问题除了是查询效率低下,还有一个很重要的问题就是插入时间长。我们就有一个业务系统,每天的数据导入需要4-5个钟。这种费时的操作其实是很有风险的,假设程序出了问题,想重跑操作那是一件痛苦的事情。因此,提高大数据量系统的mysql insert效率是很有必要的。
经过对mysql的测试,发现一些可以提高insert效率的方法,供大家参考参考。
1. 一条sql语句插入多条数据。
常用的插入语句如:
, 0); , 1); 修改成:
修改后的插入操作能够提高程序的插入效率。这里第二种sql执行效率高的主要原因有两个,一是减少sql语句解析的操作, 只需要解析一次就能进行数据的插入操作,二是sql语句较短,可以减少网络传输的io。
这里提供一些测试对比数据,分别是进行单条数据的导入与转化成一条sql语句进行导入,,分别测试1百、1千、1万条数据记录。
记录数单条数据插入多条数据插入
1百0.149s0.011s
1千1.231s0.047s
1万11.678s0.218s