MySQL插入性能测试
来源:互联网 发布:js select 选中事件 编辑:程序博客网 时间:2024/06/13 00:22
测试目的
对比myisam和innodb的性能差异,批量插入的效果。
测试过程
环境
sync_binlog=0
innodb_flush_method=O_DIRECT
innodb_flush_log_at_trx_commit=2
单次插入总数:10w条
表结构
注:ip varchar(255)来源于业务,这里暂不做修改。
CREATE TABLE `wm_buz_consume_time_log` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT ‘主键’,
`wm_poi_id` int(11) NOT NULL COMMENT,
`app_type` tinyint(2) DEFAULT ’0′ ,
`url` varchar(1024) DEFAULT NULL COMMENT ‘访问url’,
`consume_time` int(11) DEFAULT ’0′ COMMENT ‘响应时间’,
`ip` varchar(255) DEFAULT NULL,
`ctime` int(11) DEFAULT NULL COMMENT ‘创建时间’,
PRIMARY KEY (`id`)
)
单条INSERT
批量Insert
测试结论
MyISAM因为表级锁,不受到线程数的影响;MyISAM显著的比INNODB快(INNODB存在锁、事务的开销),单线程高27%,随着线程数的增大,优势会更加明显。
MyISAM批量插入性能改善的十分明显,在单次批量到达100之后,插入速度基本上稳定下来,可以达到10w record/s,是单条插入的24倍。
Innodb批量插入性能改善的十分明显,并且随着批量次数的不断增大,性能再持续增加,批量100,可以打到5w record/s,是单条插入的14倍,但是只有MyISAM的50%。
MyISAM虽然插入性能比INNODB快很多,但是依旧建议采用INNODB+批量写入的方式,因为MyISAM存在表crash的问题(表很大的时候,索引较多的时候,recovery需要很长时间,并且recovery的过程中不可读写);另外不建议批量太多,存在超出max_allowed_packet的风险,会导致数据库在很多环节不太平滑。
转载自:w3cstudy学习网
- MySQL插入性能测试
- MySql 插入(insert)性能测试
- MySql 插入(insert)性能测试
- MySQL 插入(insert)性能测试
- MySql 插入(insert)性能测试 以及优化
- MongoDB与MySQL的插入性能测试
- Oracle和MySQL数据插入性能测试
- MySql 插入(insert)性能测试 以及优化
- MongoDB与MySQL的插入、查询性能测试
- MongoDB与MySQL的插入、查询性能测试
- MongoDB与MySQL的插入、查询性能测试
- MongoDB与MySQL的插入、查询性能测试
- MongoDB与MySQL的插入、查询性能测试
- MongoDB与MySQL的插入、查询性能测试
- MongoDB 与 MySQL 的插入、查询性能测试
- MongoDB与MySQL的插入、查询性能测试
- Redis插入性能测试
- mysql插入性能改善
- tox、subunit和testr
- day03
- RMI工作原理
- http://liulinxia02.blog.163.com/blog/static/268687720111129103740947/
- G2O 与rgbdslam在ubuntu16.04下安装
- MySQL插入性能测试
- Thinking in java-13 类中的 Field和Method
- py文件编译为exe的方法
- netbeans设置代码自动补全功能
- 强噪声背景下微弱信号的提取(MATLAB)
- spring的ioc和aop原理
- RTMP协议分析及H.264打包原理
- 1008. Elevator (20)
- CacheUtils