Просмотр уровня изоляции для запроса в 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 вместе с результатами фактического запроса.