2013-06-03 64 views
5

我正在用MySQL中的後端構建一個桌面應用程序。 Mysql是否支持沒有鎖定或一些東西等同於這在SQL中?在mysql中無鎖

Select * from Tablename (NoLock); 

假設我使用連接抓取來自多個表中的數據,然後做我需要實現這個代碼,而從每個表中選擇行?

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

回答

9

試試這個

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

是否它是單個語句在多個表上工作如果我使用連接 – Shashank

+0

在我的知識中它會工作。但我不確定那個 – PSR

+0

它將適用於許多表和連接。事實上,它會忽略所有的鎖,直到你使用它爲止:'SET TRANSACTION ISOLATION LEVEL READ COMMITTED;' –

1

您可以設置隔離級別在MySQL配置文件,以避免調用SET TRANSACTION,每次查詢:

的[mysqld] 事務隔離= READ-UNCOMMITTED