问题:
各位大侠,我想问一下关于MyISAN与InnoDB在大数据量存储中的性能问题。
我建立了一个含有三列(char(32) not null, char(32) not null, blob not null)的表,其中blob的大小平均大概在20K左右。
现在分MyISAM与InnoDB两种表进行测试,在实际操作过程中,我插入了50000条记录,MyISAM表的平均速度是300多记录每称,而InnoDB的速度却还不到一半,另外update时,MyISAM的平均速度可以达到280记录每秒,而InnoDB才50-60记录每秒。
我想问的是,对于大数据量的操作,这两种不同的表,差距为什么会这么大?这是正常的么,如果不是,可能是InnoDB的哪里出了问题呢?
回答:
InnoDB支持事务和外键等
MyISAN 高效的原因是不支持事务
在MYSQL 4以前都不支持事务
在4以后增加了InnoDB和BDB两种表来支持事务
支持事务的代价就是效率降低
如果是极小的不需要事务的应用,MYSQL是不错的选择
如果是需要事务的支持,MYSQL只能算差强人意
InnoDB支持事务和外键等
MyISAN 高效的原因是不支持事务