2013-06-03 23 views
5

Buduję aplikację komputerową z back-endem w MySQL. Czy Mysql obsługuje blokadę lub coś podobnego do tego w sql?BRAK blokady w mysql

Select * from Tablename (NoLock); 

Załóżmy, że pobierając dane z wielu tabel przy użyciu sprzężenia, Czy muszę zaimplementować ten kod podczas wybierania wierszy z każdej tabeli?

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ; 
SELECT * FROM 'Table1' 
iNNERjOIN TABLE2 ON TABLE2.FK=TABLE1.PK ; 
COMMIT ; 

Odpowiedz

9

spróbować

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ; 
SELECT * FROM Tablename ; 
COMMIT ; 
+0

jest to pojedynczy rachunek działa na wielu stołach w przypadku korzystania z łączy – Shashank

+0

w mojej wiedzy będzie work.But nie jestem pewien na tym – PSR

+0

Będzie działać dla wielu tabel i łączy. Właściwie to zignoruje wszystkie blokady, dopóki nie przywrócisz go, używając: 'USTAWIĆ POZIOM IZOLACJI TRANSAKCJI ODCZYTAJ ZOBOWIĄZANY;' –

1

Można ustawić poziom izolacji w pliku mysql config aby uniknąć konieczności wzywania zbioru transakcji dla każdego zapytania:

[mysqld] transakcji izolacja = READ-UNCOMMITTED

Powiązane problemy