概述
针对数据库引擎:MyISAM和InnoDB.做了一些性能测试和比较。包括有没有索引的情况下的比较。
主要是想证实一些性能问题。
数据量:6 Millions, 机器:dell 2950
1. alter from InnoDB to MyISAM:
-----------------------------------------------------
no index has two indexes
-----------------------------------------------------
~1min30s ~9mins
2. Load data into table:
------------------------------------------------------
no index has two indexes
------------------------------------------------------
innodb(no binlog) ~4mins ~10mins
myisam(no binlog) ~4mins ~10mins
3. select count(*) from table where id>0:
------------------------------------------------------
no indexes use index
------------------------------------------------------
innodb ~19 s ~3mins
myisam ~16 s ~4s
4. create index:
---------------------------------------------------
innodb ~12mins
myisam ~6mins20s
5. select * from table where id>0 limit 1000000,10
--------------------------------------------------------
innodb ~3s
myisam ~8s
可以看出在数据量大的情况下,InnoDB常不会有很好的性能。特别是需要查询大量数据,甚至全表扫描时。
因为MyISAM的数据是紧凑存储的,所以查询大量数据时需要的IO数相对较少。所以比较快。
而InnoDB走的聚集索引,走索引不能多数据快IO,所以就更慢了。
当然在少量数据定位时,特别是按主键查询时,InnoDB的性能就更好了。
实验中,InnoDB的导入数据的速度并没有比MyISAM慢,这让我很奇怪。
总的来说,如果想要用MySQL来存储大量的数据,而且数据操作又经常需要提取大量的数据(超过5%),MyISAM可能更好。
分享到:
2010-05-08 17:24
浏览 1086
分类:数据库
评论
最后
以上就是大方豌豆为你收集整理的mysql性能测试_MySQL的一些性能测试的全部内容,希望文章能够帮你解决mysql性能测试_MySQL的一些性能测试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复