データベースの情報を見ると、次のように表示されます。Table_locks_waitedはハイです。この問題を軽減するにはどうすればよいですか?
データベースの情報を見ると、次のように表示されます。Table_locks_waitedはハイです。この問題を軽減するにはどうすればよいですか?
最初に実行する必要があります:
show status like '%\_locks\_%';
これにより、すぐにロックを取得できるクエリに対する待機クエリの比率が表示されます。おそらく、読み取りへの書き込みの組み合わせが多いため、mysqlは最適よりも頻繁に待機する必要がありますが、全体的なパフォーマンスを単一の統計で分析することはできません。
私の最初の提案は、トランザクションの負荷の影響を受けているテーブルにInnodbエンジンを使用するように、テーブルを変更することです。Innodbには、テーブルロックではなく行ロックがあり、多くの場合、パフォーマンスを向上させる傾向があるクラスター化インデックスとクエリデータキャッシングもあります。