插入分析
在MySQL中插入记录所需的时间由以下因素组成,其中的数字代表大约比例:
如果每次插入一条语句都执行一条SQL语句,则需要执行除连接和关闭N次以外的所有步骤,这非常耗时. 有几种优化方法:
在每个insert语句中写入多行,批量插入以将所有查询语句写入事务中,并使用Load Data导入数据
每种方法的性能如下.
Innodb引擎
InnoDB为MySQL提供具有事务处理(提交),回滚(回滚)和崩溃恢复功能(崩溃恢复功能)的事务安全(符合ACID)类型表. InnoDB提供行锁定(在行级别上锁定)和外键约束(FOREIGN KEY约束).
InnoDB的设计目标是处理大容量系统,其CPU利用率是其他基于磁盘的关系引擎所无法比拟的. 从技术上讲,InnoDB是置于MySQL后台的完整系统. InnoDB在主内存中建立专用的缓冲池,用于高速缓冲数据和索引.
测试环境
Macbook Air 12mid apache2.2.26 php5.5.10 mysql5.6.16
总共100W数据
插入后的大小为38.6MB(无索引)php采集新闻数据插入,46.8(有索引)
My