为了测试1000万条数据的查询性能,就需要1000万条数据,于是在我们做的项目的一个游客表的一条记录的基础上来制造。
1、使用mysql的while循环语句,比如手机号的循环,还有一些随机数,比如性别在男与女之间的随机数,生日在1950到2018之间的随机数,省市区县的随机数,最后合并起来形成一条游客记录。
2、刚开始是使用了默认的事务提交方式,即每次插入一条记录就提交,然而效率却很低,几乎每秒也就10条左右,一天下来也就100万多条,那么1000万条记录岂不是要一个多星期?
3、于是改进了一下,多开了一些navicat客户端来运行存储过程,效果好了些,但是也好不了哪里去。
4、首先在循环开始时关闭事务自动提交,因为手机号是设置成13600000000开始自增的,所以我让手机号除以1000,然后取模为0时就提交一次,提交之后同时关闭事务自动提交功能。
这样一来,效率又提升了些。