Mysql两种常用引擎对比分析
MyIASM
mysql默认引擎,不支持事务和外键约束,表级锁;
当执行Insert插入和Update更新语句时,即执行写操作的时候需要锁定这个表。所以会导致效率会降低;
因为表的行数已经被保存,所以count(*)不会扫描全表;
Innodb
支持事务和外键约束,行级锁;
启动慢,不会count(*)扫描全表;
会在内存中建立缓冲池,用于缓冲和索引;
不支持全文搜索;
写操作不锁定全表,支持高并发
两种引擎的比较
MyIASM相对简单,效率上要优于InnoDB,小型应用可以考虑使用MyIASM;
MyIASM表保存成文件形式,跨平台使用更加方便;
MyIASM管理非事务表,提供高速存储和检索以及全文搜索能力,如果再应用中执行大量select操作,应该选择MyIASM;
InnoDB用于事务处理,具有ACID事务支持等特性,如果在应用中执行大量insert和update操作,应该选择InnoDB;
如果表的读操作远远多于写操作时,并且不需要事务的支持的。可以将MyIASM作为数据库引擎的首先。
参考文献:
mysql两种引擎简要比较
mysql各种引擎对比、实战
网友评论