< 返回新闻公共列表

最受欢迎的MySQL存储引擎有哪些?

发布时间:2023-03-31 15:15:35

最受欢迎的MySQL存储引擎有哪些?分别是MyISAM和InnoDB。


最受欢迎的MySQL存储引擎有哪些?.jpeg


一、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有一个危险的缺点。在处理连接表时,它远不是最好的解决方案,因为在这种情况下它的工作速度会大大降低。此外,它对交易的处理也很奇怪。该引擎的专业范围很窄,应谨慎处理。 


/template/Home/Zkeys724/PC/Static