MySql引擎差异

MySql引擎差异,mysql,phpmyadmin,Mysql,Phpmyadmin,可能重复: 在我的项目数据库中,有些表的引擎类型为innoDB,有些表的引擎类型为Myisam。 为什么会这样设置?MySQL数据库的两种主要表存储引擎是InnoDB和MyISAM。为了总结功能和性能的差异 InnoDB较新,而MyISAM较旧。 InnoDB更复杂,而MyISAM更简单。 InnoDB在数据完整性方面更加严格,而MyISAM则比较松散。 InnoDB实现用于插入和更新的行级锁,而MyISAM实现表级锁。 InnoDB有事务,而MyISAM没有事务。 InnoDB有外键和关系约

可能重复:

在我的项目数据库中,有些表的引擎类型为innoDB,有些表的引擎类型为Myisam。
为什么会这样设置?

MySQL数据库的两种主要表存储引擎是InnoDB和MyISAM。为了总结功能和性能的差异

InnoDB较新,而MyISAM较旧。 InnoDB更复杂,而MyISAM更简单。 InnoDB在数据完整性方面更加严格,而MyISAM则比较松散。 InnoDB实现用于插入和更新的行级锁,而MyISAM实现表级锁。 InnoDB有事务,而MyISAM没有事务。 InnoDB有外键和关系约束,而MyISAM没有。 InnoDB具有更好的崩溃恢复,而MyISAM在系统崩溃时恢复数据完整性方面较差。 MyISAM有全文搜索索引,而InnoDB没有。 鉴于这些差异,InnoDB和MyISAM有各自独特的优势和劣势。它们在某些情况下比另一种更合适

InnoDB的优势

InnoDB应该在数据完整性优先的地方使用,因为它通过关系约束和事务的帮助来处理数据完整性。 在写密集型插入中,更新表的速度更快,因为它利用了行级锁定,并且只保留对正在插入或更新的同一行的更改。 InnoDB的缺点

由于InnoDB必须处理表之间的不同关系,数据库管理员和方案创建者必须花更多的时间来设计比MyISAM更复杂的数据模型。 消耗更多的系统资源,如RAM。事实上,很多人都建议在安装MySQL之后,如果没有必要关闭InnoDB引擎,就关闭InnoDB引擎。 没有全文索引。 MyISAM的优势

设计和创建更简单,因此更适合初学者。不用担心表之间的外部关系。 总体上比InnoDB更快,因为结构更简单,因此服务器资源成本更低。 全文索引。 特别适用于阅读密集型选择表。 MyISAM的缺点

没有数据完整性,例如关系约束检查,这是数据库管理员和应用程序开发人员的责任和开销。 不支持在银行等关键数据应用程序中必不可少的事务。 对于经常被插入或更新的表,速度比InnoDB慢,因为任何插入或更新都会锁定整个表。 比较起来很简单。InnoDB更适合于需要频繁插入和更新的数据关键型情况。另一方面,MyISAM在不太依赖于数据完整性的应用程序中性能更好,而且大多只选择和显示数据

参考:

您也可以在此处查看,了解更多详细信息:


希望这有帮助。

当您使用MySQL数据库时,您可以选择适合您需要的存储引擎。根据您所说的,听起来您继承了这个项目,因此以前的开发人员在创建表时可能选择了不同的引擎。他们还可以使用第三方工具和MySQL Workbench进行不同的设置,从而使用不同的存储引擎创建表

无论如何,一个快速的谷歌搜索或在这个网站上的搜索应该会给你提供关于两者之间的区别的信息,以及它们的优点和缺点,本质上是表级与行级锁定、关系强制、事务和回滚

向前看,您可以在配置文件中设置默认的存储引擎,以便在创建新表时,它们的类型相同

InnoDB是MySQL 5.5的默认引擎

下面是一段很好的对话,让您开始: