Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Čo je zámok Tab v SQLServer?

Na serveri SQL nie je výslovne nazývaná žiadna funkcia. Blokovacie mechanizmy SQL Server sú podrobnejšie ako jednoduchý „zámok na karte“. To, na čo by ste mohli myslieť, alebo čo by niekto mohol hovorovo označovať ako „zámok na karte“, pravdepodobne odkazuje na jeden z týchto scenárov:

* Blokovanie na úrovni tabuľky: Toto je najbližší server SQL sa dostane na „zámok na karte“. V určitých situáciách môže server SQL Server získať na úrovni tabuľky zdieľaný (S) alebo exkluzívny (X) zámok. To znamená, že celá tabuľka je uzamknutá, čo bráni iným súbežným operáciám v úpravách alebo dokonca čítaní (v závislosti od typu zámku) tabuľku, kým sa neuvoľní zámok. Toto sa často stáva s zle navrhnutými dotazmi alebo s vysokým sporom. Nie je to úmyselné nastavenie, ktoré si vyberiete; Je to dôsledok prístupového plánu dotazu a zvolenej úrovne izolácie.

* Pochopenie blokovania na úrovni riadkov: SQL Server primárne využíva blokovanie na úrovni riadkov. To znamená, že iba zmenené riadky sú uzamknuté, čo umožňuje ostatným používateľom súbežne prístup k a upravovať ďalšie riadky v tej istej tabuľke. Ak sa však veľa riadkov aktualizuje súbežne, systém môže zažiť zhoršenie výkonu, aj keď to nie je úplný „zámok na karte“.

* Schéma Modifikation Locks: Keď zmeníte štruktúru tabuľky (pridanie, úpravy alebo odstránenie stĺpcov, pridanie indexov atď.), SQL Server umiestňuje zámky, aby sa zabránilo súbežnej modifikácii schémy tabuľky. Tieto sú implicitne aplikované a zvyčajne sú krátkodobé.

Prečo zriedka vidíte skutočné „zámky tab“ v modernom prostredí SQL Server:

* implikácie výkonu: Zámky na úrovni tabuľky vážne obmedzujú súbežnosť a môžu viesť k významným prekážkam. Vo väčšine scenárov sú veľmi nežiaduce.

* Optimalizácia blokovania na úrovni riadkov: Optimalizátor dotazov SQL Server sa snaží používať blokovanie na úrovni riadkov, kedykoľvek je to možné, aby sa maximalizovala súbežnosť.

* úrovne izolácie: Vybraná úroveň izolácie (čítaná nezáväzná, čítaná, opakovane čítaná, serializovateľná) ovplyvňuje spôsob, akým sa zámky získavajú a udržiavajú, čo ďalej ovplyvňuje pravdepodobnosť uzamknutia na úrovni tabuľky.

v súhrne: Aj keď termín „zámok tab“ nie je technicky presný pre server SQL Server, používa sa neformálne na opis situácií, keď je celá tabuľka uzamknutá v dôsledku vykonávania dotazov alebo úprav schémy. Toto je zvyčajne skôr príznakom problému ako úmyselným prvkom. Ak sa stretávate s problémami s výkonom, ktoré sa javia ako „zámok na karte“, preskúmajte svoje dotazy, indexovanie a úroveň izolácie, aby ste porozumeli a optimalizovali model súbežnosti vašej databázy. Analýza zámku čakajú pomocou nástrojov ako „SP_WhoisActive` alebo SQL Server Profiler vám pomôže pri diagnostikovaní hlavnej príčiny.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené