2012-05-04 9 views
0

私は現在MyISAMを使用しているMySQLデータベースを持っていますが、トラフィックが非常に多く、同じテーブルに多くの書き込みを行うため、待つ必要がある訪問者の読み込み時間が遅くなるため、InnoDBに切り替えることを考えています。テーブル全体がロックされると、各書き込みが終了します。InnoDB MySQLは自動的に行レベルのロックを使用しますか?

InnoDBに変更した場合、テーブルロックの代わりに行レベルのロックが自動的に使用されますか?または、私が行う必要のあるクエリの変更はありますか?

ありがとうございました:)

答えて

0

これは、書き込み操作の自動行レベルロックを持っています。もっと多くの書き込みがあって読み込みがある場合は、MyIsamよりも優れた選択です。あなたはあなたの質問を変更してはいけません。しかし、あなたは他の変更方法を作ることができます。あなたが挿入したデータがすぐに見ることが重要でない場合は、MyISamにとどまり、INSERT DELAYEDアプローチを使用することができます。私たちはそれを高負荷プロジェクトで使用しました。非常に大きなテーブルでは鮮明に動作します。

関連する問題