技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> MySQL --> MyISAM和InnoDB的插入性能测试

MyISAM和InnoDB的插入性能测试

浏览:2664次  出处信息

    测试表结构:

    CREATE TABLE `test` (

     `ID` bigint(20) NOT NULL auto_increment,

     `INT_A` int(11) default NULL,

     `INT_B` int(11) default NULL,

     `INT_C` int(11) default NULL,

     `STRING_A` varchar(50) default NULL,

     `STRING_B` varchar(250) default NULL,

     `STRING_C` varchar(700) default NULL,

     PRIMARY KEY (`ID`),

     KEY `IDX_TEST_IA` (`INT_A`),

     KEY `IDX_TEST_IB` (`INT_B`),

     KEY `IDX_TEST_SA` (`STRING_A`,`INT_C`)

    ) ;

    数据量:总共10个表,每个表插入400w数据

    并发数:每个表并发20个线程去执行插入操作,总共200个线程

    数据特点:除了主键采用自增外,索引相关字段全是随机生成的。字符串的长度和内容都是随机的,平均长度为预定义的一半

    

    

    

    X轴是unix时间戳,Y轴是十秒钟的插入量。从以上测试结果可以看出,InnoDB的插入性能随着数据量的增多一直在下降,而且表现相当不稳定。MyISAM的表现还是比较好的,虽然瞬时插入的谷值一直在下降,但是整体表现很稳定。

    总的来说,Ext3的cache算法性能还是非常不错的,不愧是linux上面备受推崇的文件系统。InnoDB虽然提供了高可用性,但是插入性能方面的表现并不如MyISAM稳定。

建议继续学习:

  1. Innodb IO优化-配置优化    (阅读:6425)
  2. Innodb分表太多或者表分区太多,会导致内存耗尽而宕机    (阅读:6008)
  3. Innodb 表和索引结构    (阅读:4605)
  4. Innodb如何使用内存    (阅读:3878)
  5. InnoDB线程并发检查机制    (阅读:3845)
  6. 快速预热Innodb Buffer Pool的方法    (阅读:3844)
  7. InnoDB的缓存替换策略及其效果    (阅读:3536)
  8. 多版本并发控制:PostgreSQL vs InnoDB    (阅读:3520)
  9. Innodb文件表空间结构    (阅读:3478)
  10. InnoDB之Dirty Page、Redo log    (阅读:3308)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1