php mysql百万级数据_PHP + MySQL百万级数据插入的优化

221347122.png

插入分析

在MySQL中插入记录所需的时间由以下因素组成,其中的数字代表大约比例:

如果每次插入一条语句都执行一条SQL语句,则需要执行除连接和关闭N次以外的所有步骤,这非常耗时. 有几种优化方法:

在每个insert语句中写入多行,批量插入以将所有查询语句写入事务中,并使用Load Data导入数据

每种方法的性能如下.

Innodb引擎

InnoDB为MySQL提供具有事务处理(提交),回滚(回滚)和崩溃恢复功能(崩溃恢复功能)的事务安全(符合ACID)类型表. InnoDB提供行锁定(在行级别上锁定)和外键约束(FOREIGN KEY约束).

InnoDB的设计目标是处理大容量系统,其CPU利用率是其他基于磁盘的关系引擎所无法比拟的. 从技术上讲,InnoDB是置于MySQL后台的完整系统. InnoDB在主内存中建立专用的缓冲池,用于高速缓冲数据和索引.

a251e40251876541e6db51e4267a8578.png

测试环境

Macbook Air 12mid apache2.2.26 php5.5.10 mysql5.6.16

总共100W数据

插入后的大小为38.6MB(无索引)php采集新闻数据插入,46.8(有索引)

My

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值