欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MYSQL 千万数据速度以及极限测试InnoDb--INSERT 拼接极限(一)

程序员文章站 2024-03-18 09:50:46
...

数据结构:

MYSQL 千万数据速度以及极限测试InnoDb--INSERT 拼接极限(一)

测试目的:找到批量插入数据insert后面values可拼接极限

代码:

MYSQL 千万数据速度以及极限测试InnoDb--INSERT 拼接极限(一)

引擎:InnoDB

运行结果:

生产第1批20000条数据耗时:0.343秒
InnoDB第1批插入20000条数据耗时39.401秒

执行SQL:

MYSQL 千万数据速度以及极限测试InnoDb--INSERT 拼接极限(一)

通过执行SQL,可以证明数据插入的方法,确实使用的是insert 后面拼接数据内容的方法。并未报错,说明拼接20000条数据,并没有到达SQL的极限。

下面使用21000条记录:

代码:

MYSQL 千万数据速度以及极限测试InnoDb--INSERT 拼接极限(一)

结果:

MYSQL 千万数据速度以及极限测试InnoDb--INSERT 拼接极限(一)

结论:

成功得到结果数据生产第1批21000条数据耗时:0.364秒 InnoDB第1批插入21000条数据耗时42.266秒。说明依然没有到达极限;

下面使用22000条记录:

结果:

MYSQL 千万数据速度以及极限测试InnoDb--INSERT 拼接极限(一)

显然21000条记录已经到了极限。并且通过之前的数据分析,每条记录的插入都能保证在0.001秒钟执行完成。并且多次测试,总体时间有4秒级差距。此速度是在框架环境下调用框架函数进行的数据批量插入。

下面再看一下,原生SQL插入速度

代码:

MYSQL 千万数据速度以及极限测试InnoDb--INSERT 拼接极限(一)

结果:

生产第1批20000条数据耗时:0.001秒
InnoDB第1批插入20000条数据耗时0.14秒

可以看到,框架函数再转化为SQL语句的时间+数据生成的时间,极大的影响了数据插入的速度。