选择不锁定表格
有时,当表主要(或仅)用于读取时,索引不再有用,每一点都很重要,可以使用不带 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
代表未提交读。
如果在具有记录修改的表上使用可能具有不可预测的结果。