2010-12-10 9 views
0

私は、他のテーブルに2つの左結合を含むmysqlのテーブル更新を行っています。これはすべてMyIsamテーブルです。は、左の結合で更新され、すべてのMyIsamテーブルのmysqlをロックしますか?

更新日DBtutorial_code LEFT JOIN tutorial ON tutorialid_tutorial = tutorial_coderef_tutorial LEFT JOIN tutorial_code_language ON tutorial_code_languageid_tutorial_code_language = '1' SET tutorial_code = 'コードを追加する'、ref_tutorial_code_language = '2' WHERE tutorial_codeid_tutorial_code = '3' AND tutorialref_tutorial_main = '1' AND tutorial_code_languageid_tutorial_code_language =「1」

だけテーブルを更新かどうかは疑問に思ってプロセス中または3つのテーブル(アップデート1および2接合されたもの)の合計は、プロセス中にロックされた場合にロックされます。実際、私は更新がそれらに依存するので、プロセス中に結合されたテーブルを変更したくありません。

2は、テーブルがロックされていない参加している場合、私はすべてのテーブルが彼らはすべてロックされ

答えて

1

を使用したロックとロックのライトを使用する必要がありますことを推測。

+0

PMVありがとうございます。しかし、あなたが私にそれを証明する情報を与えることができますか(MySQLのドキュメント、テストを実施...)。 – user538164

+1

ALL書き込み操作は、使用されているすべてのMyISAMテーブルをロックします:http://dev.mysql.com/doc/refman/5.5/en/table-locking.html、InnoDBに切り替えます:) – Kedare

関連する問題