服务器

质量为本、客户为根、勇于拼搏、务实创新

< 返回服务器列表

有哪几种经常使用的MySQL存储引擎?

发布时间:2024-08-01

有哪几种经常使用的MySQL存储引擎?分别是MyISAM和InnoDB。


一、MyISAM

MyISAM是5.5.1版本之前的MySQL默许存储引擎,由于其简单性和速度,它依然是一个受欢迎的选择。大多数专家认为它是刚刚开始掌握MySQL的初学者的最好选择。不幸的是,确保简单性的主要因素之一是缺少外键支持。因此,我们的工作不会触及复杂的配置,但我们的选择是有限的。

另外,该引擎需要较少的磁盘空间,因此适用于磁盘空间有限的情况。它通过SELECT和INSERT语句提供极快的速度,这是一个宝贵的优势,但在处理DELETE和UPDATE语句时它可能会很慢,由于它不支持具有回滚和表级锁定的事务。

如果我们斟酌将MyISAM用于自己的项目,请注意它最适用于不使用事务的数据仓库利用程序或Web利用程序。

虽然MyISAM依然被许多利用程序使用,但它不再是默许的并被InnoDB取代也就不足为奇了。


二、InnoDB

如果我们现在开发基于MySQL的利用程序,InnoDB极可能是我们的存储引擎。它确保了数据库所需的所有选项,并且是绝大多数开发人员最流行的选择。

InnoDB支持事务和外键束缚。因此,它可以更好地检查 INSERT、UPDATE和DELETE语句的一致性。它不如MyISAM快,但也不容易被破坏。另外,它还提供了行级锁定等重要优势,确保更高效的多用户性能。

另外,在配置了多个存储引擎的情况下,最好将不用的存储引擎关闭,以提高服务器性能。例如,我们配置了十个存储引擎,但只使用其中一个。在这类情况下,9个存储引擎闲置,只消耗服务器资源,没有任何收益。

因此,MyISAM和InnoDB是MySQL使用最广泛的存储引擎。但是,这个RDBMS支持其中的十几个。值得关注另外一个名为 Federated的引擎。


三、Federated

虽然不是默许的,但Federated是一个著名的MySQL存储引擎。它的特点是它允许从远程MySQL数据库访问数据。同时,它不需要复制或集群技术。关键是本地联邦表。当查询寻址该表时,它会自动利用于远程联合表。数据不存储在本地。

当开发人员需要使用MySQL和远程MySQL服务器中的多个数据库时,这类技术非常有用。远程服务器存储数据,而本地服务器仅使用连接字符串指向它们。此操作的效力不取决于远程服务器上的存储引擎类型。

但是,Federated有一个危险的缺点。在处理连接表时,它远不是最好的解决方案,由于在这类情况下它的工作速度会大大下降。另外,它对交易的处理也很奇怪。该引擎的专业范围很窄,应谨慎处理。

TikTok千粉号购买平台:https://tiktokusername.com/