Mīnusi:
1. Tas radīs netīru lasīšanu
2. Attiecas tikai uz atlasītiem vaicājumu paziņojumiem
Plusi:
1. Daži faili saka, ka SQL vaicājumu efektivitāti ar WITH (NOLOCK) var palielināt par 33%.
2. Var izmantot iekšējiem savienojuma apgalvojumiem
Netīra lasīšana: lietotājs veic izmaiņas resursā, un cits lietotājs nolasa modificēto ierakstu, un tad pirmais lietotājs atsakās no modifikācijas, un dati atgriežas iepriekšējā modijā, šie divi dažādie rezultāti ir netīra lasīšana.
Sīkāka informācija:
Lai uzlabotu SQL vaicājumu veiktspēju, vispirms ir jāizveido indekss. Faktiski, papildus indeksu izveidei, ievietojot SQL komandas, sintaksei pievienojot sadaļu WITH (NOLOCK), var uzlabot datu kopu LOCKed parādību vidē ar lielu skaitu tiešsaistes vaicājumu, tādējādi uzlabojot vaicājuma veiktspēju.
Tomēr jāņem vērā, ka SQL SELECT ar (NOLOCK) var izraisīt netīru lasīšanu.
Piemēram:
Papildus vienkāršajai funkcijai SELECT varat izmantot arī SELECT sintaksi ar JOIN. Bet DZĒST, IEVIETOT, ATJAUNINĀT un citas komandas, kurām nepieciešami darījumi, nav labas...
Daži faili saka, ka SQL vaicājumu efektivitāti var palielināt par 33% ar WITH (NOLOCK). Pievienojot WITH (NOLOCK), SQL Server norāda, ka mūsu komandai SELECT nav jāņem vērā pašreizējās tabulas darījumu bloķēšanas stāvoklis, tāpēc veiktspēja tiks ievērojami uzlabota, un datu bāzes sistēmas bloķēšanas parādība ievērojami samazināsies (ieskaitot strupceļa bloķēšanu).
Jāatzīmē, ka, tā kā WITH (NOLOCK) neņem vērā pašreizējās tabulas darījumu bloķēšanu, tāpēc, ja ir daži dati, kas atrodas vairākās fāzēs (piemēram, darījumi vairākās tabulās - >piemēram, izņemšanas sistēmas), WITH (NOLOCK) ignorē datus, kas pašlaik apstrādā darījuma procesu...
Atklāti sakot, tas ir, izmantojot NoLock, tas ļauj lasīt datus, kas ir modificēti, bet darījums vēl nav pabeigts. Tāpēc, ja jums ir jāapsver darījumu datu integritāte reāllaikā, jums rūpīgi jāpārdomā WITH (NOLOCK) izmantošana.
Ja jums nav jāapsver darījumi, WITH (NOLOCK) var būt noderīga atsauce.
1. piezīme: AR ( < table_hint > ) Norāda tabulas skenēšanu, vienu vai vairākus indeksus, ko izmanto vaicājumu optimizētājs, Vai vaicājumu optimizētājs, lai izmantotu šo datu tabulu un izmantotu bloķēšanas režīmu šim apgalvojumam.
2. piezīme: AR (NOLOCK) ir ekvivalents READ UNCOMMITTED
|