
已解决问题
谷歌piscesnod2用户在2016.04.19提交了关于“光荣之路MySQL存储引擎简介及MyISAM和InnoDB的区别”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-27T11:55:38。希望大家能够帮助她。详细问题描述及疑问:期待您的答案,千言万语,表达不了我的感激之情,我已铭记在心 !
详细问题描述及疑问:期待您的答案,千言万语,表达不了我的感激之情,我已铭记在心 !
My
InnoDB:用于事务处理应用程序,具有众多
BDB:可替代Inn
Memory:将所有**保存在RAM中,在需要快速查找引用和其他类似**的环境下,可提供极快的访问。
Merge:允许MyS
Fe
Archive:为大量很少引
C
Other:其他存储引擎包括CSV(引用由逗号隔开的用作**库表的文件),B
MyS
InnoDB和
MyIASM是IASM表的新版本,有如下扩展:
二进制层次的可
**LL列索引。
支持大文件。
更好的键吗统计分布。
更好和更快的auto_increment处
以下是一些细节和具体实现的差别:
1.Inn
2.InnoDB中不保存表的具体行数,也就是说,执行select
3.对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。
4.DELETEFROMtable时,InnoDB不会重新建立表,而是一行一行的删除。
5.LOADTABLEFROMMASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入**后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用。
另外,InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如updatetableset**m=1wherenamelike'%wfc%'
任何一种表都不是万能的,只用恰当的针对业务类型来选择合适的表类型,才能最大的发挥MySQL的性能优势.