MySQL提供了多种的存储引擎
InnoDB
MyISAM
MEG_MYISAM
MEMORY
CSV
ARCHIVE
BLACKHOLE
PERFORMANCE_SCHEMA
FEDERATED
...
如何选择合适的存储引擎?
提供几个选择标准,然后按照标准,选择对应的存储引擎即可,也可以根据常用引擎对比来选择你使用的存储引擎。使用哪种引擎需要根据需求灵活选择,一个数据库中多个表可以使用不用的引擎以满足各种性能和实际需求。使用合适的存储引擎,将会提高整个数据库的性能。
是否需要支持事务
对索引和缓存的支持
是否需要使用热备
崩溃恢复,能够接受崩溃
存储的限制
是否需要外键支持
请说明InnoDB和MyISAM的区别
请说说InnoDB的4大特征?
插入缓冲(insert buffer)
二次写(double write)
自适应哈希索引(ahi)
预读(read ahead)
为什么SELECT COUNT(*) FROM table在InnoDB比MyISAM慢?
对于SELECT COUNT(*) FROM table 语句,在没有WHERE条件的情况下,InnoDB比MyISAM可能会慢很多,尤其在大表的情况下。因为,InnoDB是去实时统计结果,会全表扫描;而MyISAM内部维持了一个计数器,预存了结果,所以直接返回即可。