百度空间 | 百度首页 
 
查看文章
 
myisam vs innodb感受
2009-03-24 11:36
  
    真是太久没来写博客了,偶尔心里似乎有些感觉像欠了什么似的,但是没啥可写也感觉不想写,因为我已经定位此博客为技术路线,不愿其他的事情掺进来。言归正传,说说最近干的一些事吧。

    从我使用mysql以来,我见过的都是用myisam作为存储引擎的首选,并且mysql doc也对myisam表扬有嘉,所以在大部分时候我都使用myisam。而在最近的一些测试中,myisam却没有想像中那么优秀。

    确实myisam更新速度非常快,因为结构精简、数据量小,也没有doublewrite,没有transaction log。在较小数据量下,查询速度也很快,因为总体数据较小,所以很容易被cache。但是当数据超出总内存量很多的时候,这时候myisam查询效率就能被innodb拉下很远,innodb会根据访问情况来创建buffer_pool里的hash index,它的效能似乎总是优于系统的cache。

   在后面的较大规模数据测试下,innodb查询性能总是或多或少的高于myisam,其实在相同的数据两下,innodb比myisam的结构数据查不多要大一倍,这样的性能表现只能惊叹于buffer_pool的神奇。也打破了“myisam优于innodb”这个神话。

   数据库作为一个通用存储系统,强大、好用、灵活,但正是因为它强大和灵活,导致能在各种场合都把它用好的人不多。为什么很多公司都有dba这个角色......

类别:数据库 | 添加到搜藏 | 浏览() | 评论 (3)
 
最近读者:
 
网友评论:
1
2009-03-30 11:01 | 回复
需求不同,选择就不同。如果innodb完全比myisam好的话,myisam就没有必要存在了。不过很多时候也分析不清楚自己的需求
 
2
2009-03-31 13:52 | 回复
插入的情况innodb是比不过myisam,
数据量小,差不多都能被cache的情况下myisam和innodb基本差不多

只有在数据量大的时候才体现差别
 
3
2009-10-29 08:44 | 回复
数据量大就应该另外加缓存,达到冷热数据分离了。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu