MyISAM和InnoDB有什么区别?[重复]

MyISAM和InnoDB有什么区别?[重复],第1张

MyISAM和InnoDB有什么区别?[重复]

InnoDB和MyISAM之间的主要区别(“您询问的有关设计表或数据库的问题”)是对“参照完整性”和“事务”的支持。

如果您需要数据库来强制执行外键约束,或者您需要数据库来支持事务(即,由两个或多个DML *** 作进行的更改作为单个工作单元处理,则所有更改都已应用,或者所有更改都已还原)那么您将选择InnoDB引擎,因为MyISAM引擎缺少这些功能。

这是两个最大的区别。另一个大差异是并发性。使用MyISAM,DML语句将在表上获得排他锁,并且在保持该锁的同时,没有其他会话可以在表上执行SELECT或DML *** 作。

您询问的那两个特定引擎(InnoDB和MyISAM)具有不同的设计目标。MySQL还具有其他具有自己的设计目标的存储引擎。

因此,在InnoDB和MyISAM之间进行选择时,第一步是确定您是否需要InnoDB提供的功能。如果没有,那么MyISAM就可以考虑了。

缺少关于问题空间的更详细的讨论,对于差异的更详细的讨论是不切实际的……应用程序将如何使用数据库,多少个表,表的大小,事务负载,select的数量,插入,更新,并发要求,复制功能等。


数据库的逻辑设计应围绕数据分析和用户需求进行;使用关系数据库的选择将在以后出现,甚至更晚时将选择MySQL作为关系数据库管理系统,然后为每个表选择一个存储引擎。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5018101.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存