mysql 优化配置 大批量数据插入_Mysql 批量写入数据 性能优化

测试环境配置直接影响执行速度,先上一下测试机配置:cpu i7 5500U(低电压伤不起,以后再也不买低电压的U了)内存 8G ddr3 1600php 7.1mysql 5.5.40开发框架 CodeIgniter 3.1.2影响写入效率的因素都有什么?数据库引擎开发中常用的数据库引擎 MyISAM,InnoDB 这两种,其他的数据库引擎我在开发中还没用到,所以不在这里测试了。先看一下库表结构 ...
摘要由CSDN通过智能技术生成

测试环境

配置直接影响执行速度,先上一下测试机配置:

cpu i7 5500U(低电压伤不起,以后再也不买低电压的U了)

内存 8G ddr3 1600

php 7.1

mysql 5.5.40

开发框架 CodeIgniter 3.1.2

影响写入效率的因素都有什么?

数据库引擎

开发中常用的数据库引擎 MyISAM,InnoDB 这两种,其他的数据库引擎我在开发中还没用到,所以不在这里测试了。

先看一下库表结构 :

test库下有两张表:分别为上面提的两种引擎:

每张表结构如下(一个自增id,一个varchar类型待插入字段):

缺省状态下对两表插入20w数据看一下效率:

PHP代码如下:

/**

*

* 测试插入效率

*

* @return void

*

*/

public function insertTest(){

set_time_limit(0); //防止超300s 500错误

$t1 = microtime(true);

//随机插入num条

for ($i=1; $i<=200000; $i++){

$result = $this->db->insert('myisam', ['value' => uniqid().$i]);

}

//程序运行时间

$t2 = microtime(true);

echo '耗时:'.round($t2-$t1,3).'秒
';

echo '内存消耗:'.round(memory_get_usage()/1048576,2)." M
";

}

执行结果:

20w 数据 Myisam要 接近3分钟了。

看一下InnoDb缺省状态下执行时间:

插入1w条数据 用了 6分49秒,没办法等下去了, 按照这个数据量推测 6分49 * 20 &

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值