SQL 选择不锁定表

例子

有时,当大多数情况下(或仅)使用表进行读取时,索引已不再有用,而且每一个计数都很重要,人们可能会使用没有LOCK的选择来提高性能。


SQL服务器

SELECT * FROM TableName WITH (nolock)


的MySQL

SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT * FROM TableName;
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;


甲骨文

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT * FROM TableName;


DB2

SELECT * FROM TableName WITH UR;

其中UR代表“未提交的阅读”。


如果在进行了记录修改的表上使用,可能会导致不可预测的结果。