SQL Sélectionner sans verrouiller la table


Exemple

Parfois, lorsque les tables sont utilisées principalement (ou uniquement) pour les lectures, l'indexation n'aide plus et chaque bit compte, on peut utiliser selects sans LOCK pour améliorer les performances.


serveur SQL

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 signifie "lecture non validée".


S'il est utilisé sur une table dont les modifications d'enregistrement sont en cours, les résultats risquent d'être imprévisibles.