MariaDB 是标准 LAMP 堆栈上 MySQL 的合适替代品吗?

Chr*_*ris 7 mysql mariadb performance storage-engine

我最近一直想知道 MariaDB 相对于“传统” MySQL 有哪些改进(如果有的话)?

我知道在平台互操作性和/或向后兼容性可能是一个问题的情况下,最好坚持使用久经考验且值得信赖的 MySQL。但是对于独立网站/应用程序上的独立数据库,使用 Maria 有什么好处吗?

Maria 是否可以使用常见的网络平台,例如 WordPress、Drupal、Joomla 等?

我预计其中一些将归结为存储引擎的选择/偏好,但老实说,我仍然不知道我是否/何时应该使用 MyISAM、InnoDB 或其他任何一个!哪个更好或更快或其他什么?

我唯一得到的是,如果我想要“真正的”表关系(即外键等),我会使用 InnoDB。

感谢人们可以为我提供的任何帮助或澄清。

ype*_*eᵀᴹ 7

迁移到另一种 MySQL 风格的一个正当理由是性能。最新的 MariaDB 版本 5.3 和 5.5(分别是 MySQL 5.1 和 5.5 的替代品)包括查询优化方面的重大改进。您可以在他们的网站上阅读更多内容:什么是 MariaDB 5.3

改进/特性的例子有“索引条件下推”、“基于成本的范围选择与 index_merge”、“子查询实现”、“子查询缓存”和新的连接方法,如“哈希连接”。一些功能会影响(具有语句的)子查询、派生表和视图的性能。

可以在优化器功能比较矩阵页面上找到详细信息。

其他附加功能,例如对时间数据类型的微秒支持以及对复制和二进制日志记录的改进。


以前的版本(5.1 和 5.2)也有一些(主流)MySQL 没有的特性,比如[PERSISTENT] VIRTUALcolumns


当然,你的服务器从 MySQL 到 MariaDB 的任何迁移都应该由你检查和测试,看看这些特性在你的数据库/应用程序中是否有用,以及性能差异(如果有的话)是否足以解决你可能遇到的麻烦(与任何迁移一样)。