2013-06-03 12 views
5

でNOロック。 Mysqlはロックなし、またはsqlと同様の機能をサポートしていますか?私はMySQLでのバックエンドでデスクトップアプリケーションを構築していmysqlの

Select * from Tablename (NoLock); 

複数のテーブルからjoinを使用してデータをフェッチしているとします。次に、各テーブルから行を選択する際にこのコードを実装する必要がありますか?

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ; 
SELECT * FROM 'Table1' 
iNNERjOIN TABLE2 ON TABLE2.FK=TABLE1.PK ; 
COMMIT ; 

答えて

9

あなたはすべてのクエリについては、SET TRANSACTIONを呼び出すすることを避けるために、MySQLの設定ファイルに分離レベルを設定することができ、この

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ; 
SELECT * FROM Tablename ; 
COMMIT ; 
+0

UNCOMMITTED、READ、それは私がその上で確認していないwork.Butます私の知識で – Shashank

+0

に参加し – PSR

+0

これは多くのテーブルと結合で機能します。実際には、すべてのロックを無視します: 'SET TRANSACTION ISOLATION LEVEL READ COMMITTED;' –

1

を試してみてください。

[mysqldを] トランザクション分離=それは私が使用している場合、単一の文が複数のテーブル上で動作している

関連する問題