Wordpress InnoDB 和 MyISAM 表

标签 wordpress innodb myisam

我正在尝试修复大型 WordPress 安装(大约 600K 帖子)上的一些严重问题,并注意到 wp_posts 表是 INNODB,但 wp_posts_meta 是 MyISAM

对我来说看起来有点奇怪。

任何人都知道此表引擎配置可能存在的问题,特别是具有不同引擎的表之间的联接?

谢谢

最佳答案

我只知道混合 innodb 和 myisam 时事务可能会中断。在你的情况下,这没有问题,因为 WordPress 不使用事务。然而,将 posts 表设为 innodb 是一个奇怪的选择。混合类型可能是有益的,因为 myisam 在不经常更改的表上往往会更快。当myisam表上的一行被更新时,整个表被锁定,而innodb只锁定该行。

post表就是这样一个表(偶尔写,读很多次)。但你的设置似乎是相反的。这不是一个大问题,但是通过将该表保留在 innodb 中您不会获得任何好处。

关于您的问题:由于您没有具体说明您的问题是什么,我无法说它们听起来是否相关。但我猜这不是罪魁祸首。

免责声明:很多人声称,如果配置正确,innodb 与 myisam 一样快。可能是这样,但是周围没有很多配置良好的设置,更不用说知道如何针对给定任务优化 mysql 的人了。此外,很多人都在共享主机上,或者无法自行更改设置。对于他们来说,将表切换到 innodb(或相反)可能可行。

关于Wordpress InnoDB 和 MyISAM 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14691747/

相关文章:

java - Mysql select ...更新死锁

mysql - 如何使用 group by、where 和 order by 子句在大表(>38.700.000 行)上定义索引

php - WordPress 中的 AJAX 搜索

php - 切换 Wordpress 站点主机时没有图像

css - 在 Wordpress 中自定义我的画廊

php - 从 WooCommerce 订单应用的优惠券中获取优惠券说明

foreign-keys - 尝试使用heidisql在mysql中添加外键

mysql - 检查上次查询是否使用了缓冲区

mysql - mysql查询的高cpu使用率

mysql - 将 MyISAM 转换为 InnoDB。有利?结果?