選擇不鎖定表格

有時,當表主要(或僅)用於讀取時,索引不再有用,每一點都很重要,可以使用不帶 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 代表未提交讀

如果在具有記錄修改的表上使用可能具有不可預測的結果。