如何确定给定查询使用的隔离级别?执行完查询(由第三方应用程序执行)后,我想知道使用了哪种隔离级别(例如,读取未提交)。
需要说明的是,我目前正在开发一个使用EF4的应用程序,该应用程序在MySQL5.1上运行。我正在尝试测试不同的编码模式,以更改特定EF4查询的隔离级别。我需要能够测试并确保隔离级别设置正确。
发布于 2011-03-18 11:15:12
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与实际查询的结果一起显示。
https://stackoverflow.com/questions/5347567
复制相似问题