在做了关于这个主题的一些功课后,我发现如果我想让mysql做一个 选择而不等待锁定,我应该运行:
"SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED"
在我的查询之前。
理论上,这应该像SELECT NOLOCK一样。
在实践中,我可能会遗漏一些东西,因为看着show processlist我仍然看到:
"Waiting for table level lock"
我缺少什么?
答案 0 :(得分:0)
您要求读取未提交的更改,这并不意味着表未锁定。
然而,它的意思是,一旦表格被更改它的过程解锁,您将能够读取未见COMMIT
的数据。