回答:
答えは、可能な限り、できれば独自のデータとワークロードを使用して、常に測定する必要があるということです。
データアクセスパターンはアプリごとに大きく異なる可能性があるため、すべてのワークロードに「最適な」ストレージエンジンを決定することは不可能であり、おそらく不可能です。
ただし、先週MySQLConf / Percona Performance Confに参加したMySQL分野では、非常に有望な開発が行われています。
代替ストレージエンジンの一部:
さらに、Percona、Googleなどは、InnoDBのパフォーマンスを大幅に向上させるパッチを提供しています。個人的に、OurDeltaビルドを実行します。私にとってはうまくいきます。OurDeltaとPerconaのビルドをチェックすることをお勧めします。
アプリケーションで絶対に必要としない場合でも、操作上の理由で非常に役立つ機能があります。
したがって、外部キーの制約にもかかわらず、おそらくInnoDBを使用したいと思うでしょう。
もちろん、これはStackOverflowではなくServerFaultなので、適切な答えは次のとおりです。
ホスティングプロバイダーは、不可能でない限り、MyISAMを完全に削除し、InnoDBに切り替えることを勧めました。
私たちの場合、1日に数回から数回表示されるようになった深刻なデータ破損があり、常にREPAIR TABLEと関連するコマンドが必要であり、大きなテーブルでは時間がかかりました。
InnoDBに変換(または変換された)すると、問題はすぐになくなりました。マイナス面/注意点:
ただし、これはすべて環境などに固有であるため、通常は適用されない場合があります。