选择不锁定表格

有时,当表主要(或仅)用于读取时,索引不再有用,每一点都很重要,可以使用不带 LOCK 的选择来提高性能。

SQL Server

SELECT * FROM TableName WITH (nolock)

MySQL 的

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

Oracle

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

DB2

SELECT * FROM TableName WITH UR;

其中 UR 代表未提交读

如果在具有记录修改的表上使用可能具有不可预测的结果。