Просмотр уровня изоляции для запроса в mysql

Как определить уровень изоляции, используемый для данного запроса? После выполнения запроса (сторонним приложением) я хотел бы знать, какой уровень изоляции использовался (например, read uncommitted).

чтобы быть ясным, я в настоящее время работаю над приложением, которое использует EF4, работающий против mysql 5.1. Я пытаюсь протестировать различные шаблоны кодирования для изменения уровней изоляции для конкретных запросов EF4. Мне нужно иметь возможность проверить и убедиться, что уровни изоляции устанавливаются правильно.

1 ответов


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

Если вам разрешено вставлять подзапросы в SQL, который будет запущен по EF4 вам может потребоваться внедрить этот запрос в качестве подзапроса (или внедрить запрос в качестве подзапроса) и отобразить переменную IsolationLevel вместе с результатами фактического запроса.