大規模なワードプレスのインストール (約 600K の投稿) でいくつかの重大な問題を修正しようとしていますが、wp_posts テーブルは INNODB ですが、wp_posts_meta は MyISAM であることに気付きました
私には少し奇妙に見えます。
このテーブルエンジンの構成、特に異なるエンジンを持つテーブル間の結合で起こりうる問題を知っている人はいますか?
ありがとう
innodb と myisam を混在させるとトランザクションが壊れる可能性があることだけは承知しています。WordPressはトランザクションを使用していないため、あなたの場合は問題ありません。しかし、投稿テーブルを innodb にするのは奇妙な選択です。myisam はそれほど頻繁に変更されないテーブルでより高速になる傾向があるため、型を混在させると有益な場合があります。myisam テーブルの行が更新されると、テーブル全体がロックされますが、innodb はその行をロックするだけです。
投稿テーブルはそのようなテーブルです(たまに書き込み、何度も読む)。しかし、あなたの設定は逆のようです。これは大きな問題ではありませんが、そのテーブルを innodb に保持しても何も得られません。
あなたの問題に関して:あなたの問題が何であるかを特定していないので、それらが関連しているように聞こえるかどうかは言えません。しかし、これは犯人ではないと思います。
免責事項: 正しく設定されていれば、innodb は myisam と同じくらい高速であると多くの人が主張しています。そうかもしれませんが、適切に構成されたセットアップはあまりなく、与えられたタスクのために mysql を最適化する方法を知っている人は言うまでもありません。また、多くの人が共有ホストを使用しているか、そうでなければ設定を自分で変更することができません。それらの場合、テーブルを innodb に切り替える (またはその逆) が機能する可能性があります。