数据结构:
测试目的:找到批量插入数据insert后面values可拼接极限
代码:
引擎:InnoDB
运行结果:
生产第1批20000条数据耗时:0.343秒 InnoDB第1批插入20000条数据耗时39.401秒
执行SQL:
通过执行SQL,可以证明数据插入的方法,确实使用的是insert 后面拼接数据内容的方法。并未报错,说明拼接20000条数据,并没有到达SQL的极限。
下面使用21000条记录:
扫描二维码关注公众号,回复:
1610348 查看本文章
代码:
结果:
结论:
成功得到结果数据生产第1批21000条数据耗时:0.364秒 InnoDB第1批插入21000条数据耗时42.266秒。说明依然没有到达极限;
下面使用22000条记录:
结果:
显然21000条记录已经到了极限。并且通过之前的数据分析,每条记录的插入都能保证在0.001秒钟执行完成。并且多次测试,总体时间有4秒级差距。此速度是在框架环境下调用框架函数进行的数据批量插入。
下面再看一下,原生SQL插入速度
代码:
结果:
生产第1批20000条数据耗时:0.001秒 InnoDB第1批插入20000条数据耗时0.14秒
可以看到,框架函数再转化为SQL语句的时间+数据生成的时间,极大的影响了数据插入的速度。