Avatar billede simme Nybegynder
22. november 2004 - 21:24 Der er 5 kommentarer

Clustered indekser vs. non-clustered indekser

Hej, er der nogen der kan forklare hvad forskellen er på Clustered indekser og non-clustered indesker på Sql-server. Har det noget at gøre med måden indekset er opbygget på? Jeg har ladet mig for tælle, at det er en fordel at bruge Clustered indekser på taber hvor der ofte laves fra-til forespørgsler er det iøvrigt korrekt?
Avatar billede erikjacobsen Ekspert
22. november 2004 - 21:27 #1
Et clustered index opbevares sorteret, og egner sig til forespørgsler, der udnytter at det er sorteret,
fx. fra-til forespørgsler. Det kan måske være lidt dyrere at vedligeholde
ved opdateringer - der er altid en afvejning.
Avatar billede simme Nybegynder
22. november 2004 - 21:30 #2
et almindelig index opbevare vel også dataene sorteret? er dataene i et clustered index sorteret på en bestemt måde?
Avatar billede erikjacobsen Ekspert
22. november 2004 - 21:36 #3
Nej et almindeligt index opbevarer ikke data, men indexet sorteret.
Data kan ligge spredt, og skal så først efterfølgende findes.

Cluster=sammenklumpning af index og data - so to speak ;)
Avatar billede a1a1 Novice
23. november 2004 - 00:12 #4
og man kan kun have et clustret index pr. tabel ;o)
(ellers er det vel også svært at sortere)
Avatar billede trer Nybegynder
24. november 2004 - 12:30 #5
En anden detalje:

Da clustered indeks netop er sorteret bør det kun lægges på kolonner der opdateres ved første indsættelse og er stigende - f.eks. en created_date og aldrig på en kolonne som "last_updated" eller en unique identifier. 

Ved de to sidste vil sql server skulle fysisk resortere indeks ved opdatering - og det tager tid og giver dermed dårlig performance.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester