MyISAM方便與查詢,查詢速度很快,因而爲了優化查詢,它不支持外鍵、事務、索引也是非聚集的;同時它的鎖支持表級鎖;支持全文檢索;保存表具體的行數;
其實很好理解;索引是爲了加快查詢的;而使用非聚集的索引使得表數據和索引分開存儲;這樣查詢的時候,索引長度更短,速度更快;
爲了更快的查詢速度,拋棄了索引和外鍵;
因爲更頻繁的讀取數據;爲了防止出現幻讀,而把鎖的級別提高爲表級鎖;
相反 InnoDB爲了安全的進行CRUD,犧牲了查詢效率;因而不支持外鍵、事務、索引是聚集的等等....
MyISAM更多的時候使用在查詢較多的數據上
MyISAM | InnoDB | |
索引 | 非聚集 | 聚集 |
事務 | 不支持 | 支持 |
外鍵 | 不支持 | 支持 |
鎖 | 行級 | 表級 |
表的具體行數 | 保存 | 不保存 當調用count方法的時候需要掃描全表 |
全文檢索 | 支持 | 不支持 |