Wyświetlanie poziomu izolacji dla zapytania w mysql

Jak określić poziom izolacji używany dla danego zapytania? Po wykonaniu zapytania (przez aplikację 3rd party) chciałbym wiedzieć, który poziom izolacji został użyty (np. read uncommitted).

Żeby było jasne, obecnie pracuję nad aplikacją, która używa EF4 działającą pod mysql 5.1. Próbuję przetestować różne wzorce kodowania, aby zmienić poziomy izolacji dla konkretnych zapytań EF4. Muszę być w stanie przetestować i upewnić się, że poziomy izolacji są ustawione poprawnie.

Author: manu08, 2011-03-18

1 answers

SHOW VARIABLES LIKE 'tx_isolation';

Lub jeśli masz MySQL 5.1 +

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

Jeśli chcesz wiedzieć, co serwer skonfigurował globalnie, Zmień powyższe na następujące:

SHOW GLOBAL VARIABLES LIKE 'tx_isolation';

Lub jeśli masz MySQL 5.1 +

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

Jeśli chcesz, aby zapytanie ujawniło, jaka izolacja transakcji jest używana, uruchom to:

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

ZASTRZEŻENIE: NIE ZNAM EF4

Jeśli możesz osadzać zapytania podrzędne w SQL, które mają być uruchamiane przez EF4, być może będziesz musiał osadzić to zapytanie jako zapytanie podrzędne (lub osadza zapytanie jako zapytanie podrzędne) i wyświetla zmienną IsolationLevel wraz z wynikami rzeczywistego zapytania.

 36
Author: RolandoMySQLDBA,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-16 10:29:41