23

特定のクエリで使用されている分離レベルを確認するにはどうすればよいですか? クエリが (サード パーティのアプリケーションによって) 実行された後、使用された分離レベル (たとえば、コミットされていない読み取り) を知りたいです。

明確にするために、私は現在、mysql 5.1 に対して実行される EF4 を使用するアプリケーションに取り組んでいます。特定の EF4 クエリの分離レベルを変更するために、さまざまなコーディング パターンをテストしようとしています。分離レベルが正しく設定されていることをテストして確認できるようにする必要があります。

4

1 に答える 1

36
SHOW VARIABLES LIKE 'tx_isolation';

または MySQL 5.1+ を使用している場合

SELECT * FROM information_schema.session_variables
WHERE variable_name = 'tx_isolation';

サーバーがグローバルに構成した内容を知りたい場合は、上記を次のように変更します。

SHOW GLOBAL VARIABLES LIKE 'tx_isolation';

または MySQL 5.1+ を使用している場合

SELECT * FROM information_schema.global_variables
WHERE variable_name = 'tx_isolation';

どのトランザクション分離が使用されているかをクエリで明らかにしたい場合は、次を実行します。

SELECT variable_value IsolationLevel
FROM information_schema.session_variables
WHERE variable_name = 'tx_isolation';

免責事項:私はEF4を知りません

EF4 で実行しようとしている SQL にサブクエリを埋め込むことが許可されている場合は、このクエリをサブクエリとして埋め込み (またはクエリをサブクエリとして埋め込み)、変数 IsolationLevel を実際のクエリの結果と共に表示する必要があります。

于 2011-03-18T03:15:12.227 に答える