Avatar billede websam Nybegynder
13. marts 2006 - 21:38 Der er 3 kommentarer og
1 løsning

Index på felter i tabel ?

Hejsa,

Er der ikke en venlig sjæl der kan forklare mig hvordan jeg opretter index på felter i en tabel. ?

Og hvor jeg efterfølgende kan se disse index ?

Jeg har en sql server 2000 installeret.

/Websam
Avatar billede Slettet bruger
14. marts 2006 - 07:49 #1
CREATE INDEX DitIndexNavn ON DinTabel (Den eller de kolonner du ønsker index på)

BOL (Books online):

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
    ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH < index_option > [ ,...n] ]
[ ON filegroup ]

< index_option > :: =
    { PAD_INDEX |
        FILLFACTOR = fillfactor |
        IGNORE_DUP_KEY |
        DROP_EXISTING |
    STATISTICS_NORECOMPUTE |
    SORT_IN_TEMPDB 
}

Index kan du se i Enterprise manager eller i query analyser.

Metode for at se på enkelt tabel ved prompt.

exec sp_helpindex 'tabelnavn'
Avatar billede websam Nybegynder
17. marts 2006 - 19:22 #2
Når jeg så laver index's skal jeg gøre det på alle felter eller blot på de felter hvor jeg ved jeg får brug for søgning ?
Avatar billede Slettet bruger
18. marts 2006 - 06:28 #3
Du skal kun gøre det på de felter hvor der skal søges. Indeksering er en afvejning mellem søge hastighed og hastigheden på update/insert/delete da de tager længere tid når flere index der er på tabellen.

Hvis du laver søgninger hvor betingelsen er på flere kolonner så som

select * from tabel where kol1='noget' and kol2='andet'

så skal du ikke lave to index, et på kol1 og kol2 for SQL Serverer kan typisk kun gøre brug af det ene, du skal derimod lave et samlet index på med CREATE INDEX samletindex ON tabel (kol1, kol2).

Du skal altså lave en vurdering af om du har brug for og hvilken type index du har brug for inden du begynder at create løs.
Avatar billede websam Nybegynder
05. april 2006 - 14:44 #4
Takker for hjælpen, jeg havde helt misset at acceptere dit svar ;o)
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