1

在对这个主题做了一些功课之后,我发现如果我想让 mysql 在不等待锁的情况下进行选择,我应该运行:

"SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED" 

在我的查询之前。

理论上,这应该像 SELECT NOLOCK 一样工作。

在实践中,我可能会在查看我仍然看到的 show processlist 时遗漏一些东西:

"Waiting for table level lock"

我错过了什么?

4

1 回答 1

0

您要求读取未提交的更改,这并不意味着该表未锁定。

然而,它的意思是,一旦表被更改它的进程解锁,您将能够读取尚未看到COMMIT.

于 2012-11-05T17:08:11.140 回答