4 Fremtrædende forskelle mellem bunkeborde og grupperede tabeller i SQL Server

Den følgende artikel forklarer de vigtigste forskelle mellem Heap-tabeller og Clustered-tabeller.

Mens du arbejder med borde i SQL Server, brugerne står ofte over for dilemmaet at bruge klyngetabeller eller bunketabeller. Tabeller, der ikke har klyngede indekser, kaldes Heap-tabeller, og dem, der har klyngede indekser, kaldes klyngede tabeller. Et klynget indeks omorganiserer grundlæggende den måde, hvorpå poster gemmes fysisk i en tabel. Datasiderne er indeholdt i bladknudepunkterne i et grupperet indeks.

Forskelle mellem bunkeborde og grupperede tabeller

Artiklen diskuterer disse to bordtyper mere detaljeret.

Klyngede og bunkeborde

De klyngede tabeller giver brugerne flere fordele end heap-tabeller, da de hjælper brugere med at bruge indekser til at finde rækker hurtigere end heap-tabeller og fysisk gemme data / poster ved at genopbygge det klyngede indeks.

Dine fysiske data kan blive fragmenteret, hvis der er flere INDSÆT, SLET og OPDATER aktiviteter i forhold til tabellerne i dine data. Det er kendt, at fragmenterede data kan tilføje spildt og uønsket plads, fordi hvis du kører en forespørgsel, skal den læse flere sider, da der nu er mere delvist fulde sider. Lad os finde ud af måder at løse fragmenteringsproblemet med data på.

Forskel mellem dyng og klyngetabel

Fragmenteringsproblemet kan tackles ved at bestemme behovet for at have et klynget indeks i din tabel / s eller ej. Det er trods alt det klyngede eller bunkeindeks, der regulerer dit bords fysiske opbevaring. Enhver tabel i din database kan kun have en type indeks. For at træffe et valg skal vi forstå de grundlæggende forskelle mellem disse to, som er som følger.

  1. I bunken er der ingen ordre i lagring af data, men i Clustered har datalagring en ordre afhængigt af grupperet indeksnøgle. 
  2. Datasider er ikke linket i Heap, mens de i klyngetabel er linket, og der er hurtigere sekventiel adgang.
  3. Heap har 0 index_id værdi og Clustered har 1 index_id værdi for sys.indexes katalogvisning
  4. Clustered Index henter data hurtigere end heap-tabellen, da der er Clustered Index-nøgle

Fragmentering

Baseret på forskellene mellem Clustered og Heap Tables kan man løse problemet med fragmentering. Fragmentering opstår på grund af brugen af ​​INDSÆT, SLET og OPDATER aktiviteter. Men hvis du har Heap Table, og der kun er INSERT-aktivitet, vil fragmentering ikke forekomme. Hvis du bruger sekventiel indeksnøgle (Identity Value) og kun har INSERTS, bliver dit klyngede indeks ikke fragmenteret. Men hvis du bruger masser af INSERTS eller SLETTER, bliver tabellerne fragmenterede.

Så det anbefales at bruge Clustered Index, da det er afhængigt af Index-nøgle og bruger mindre plads. Nye poster kan skrives til allerede eksisterende sider i den ledige plads.

For at bestemme brugen af ​​enten heap eller grupperet tabel kan du også prøve at køre DBCC SHOWCONTIG eller ny DMV, da begge disse kommandoer kan give dig indsigt i fragmenteringsproblemerne i dine tabeller. I den klyngede tabel kan fragmentering løses ved at omorganisere eller genopbygge dit klyngede indeks.    

Investering i en SQL Server reparere værktøj er et must for virksomheder, der bruger MS SQL Server database på deres produktionsservere. Faktisk kan det vise sig at være en livredder i tilfælde af et databasekrasj.

Forfatter Introduktion:

Victor Simon er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder reparation mdb og SQL-genopretningssoftwareprodukter. For mere information besøg https://www.datanumen.com/

Ét svar til "4 fremtrædende forskelle mellem heap-tabeller og grupperede tabeller i SQL Server"

Giv en kommentar

Din e-mail adresse vil ikke blive offentliggjort. Krævede felter er markeret *