/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Database indeksering
Fra : Dahl


Dato : 14-10-02 14:41

Hej,

Jeg arbejder på et projekt hvori der indgår en Microsoft SQL 2000 database.
Nogle af tabellerne skal kunne indeholde mange rækker (op til 2000000) og
tests har vist at det går ud over diverse søgetider. Vi har ikke relationer
mellem tabellerne i databasen.

Jeg har hørt at ved indeksering af udvalgte kolonner i databasen kan
søgninger optimeres ret kraftigt, hvilket et par hurtige forsøg da også har
vist. Dog er min viden om administration og optimal design af databaser ret
begrænset, så jeg har svært ved at vurdere hvilke kolonner der skal
indekseres, om de skal sættes til 'clustered' osv. Samtidig må der også være
nogle bagdele ved indeksering som jeg godt kunne tænke mig at tage i
betraktning.

Derfor søger jeg nogle links til websider som indeholder lidt basalt
database indekserings teori som vil kunne give mig den mest nødvendige viden
om emnet. Findes disse sider?

Gode bøger eller andet ville også ha' interesse.

Tak
Jimmi



 
 
Barnabas (14-10-2002)
Kommentar
Fra : Barnabas


Dato : 14-10-02 16:11

1. put indexes på de kolonner du joiner på.
2. put indexes på kolonner med god selektivitet dvs. hvor der er mange
forskellige værdier i og ikke bare 1 og 0 for eksempel.



Torben Nielsen (14-10-2002)
Kommentar
Fra : Torben Nielsen


Dato : 14-10-02 16:28

> Gode bøger eller andet ville også ha' interesse.

Du kunne jo starte med en all-round databasebog:

Fundamentals of Database System af Elmasri & Navathe
Udgivet af Addison-Wesley
ISBN 0-201-54263-3

Torben

Jakob Møbjerg Nielse~ (15-10-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 15-10-02 09:56

Dahl wrote:
> Jeg har hørt at ved indeksering af udvalgte kolonner i databasen kan
> søgninger optimeres ret kraftigt, hvilket et par hurtige forsøg da
> også har vist.

Der en del artikler om index'er på
http://www.sql-server-performance.com.

--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
http://www.jakobnielsen.dk/ | -- Terry Pratchett, Reaper Man
Jeg søger et fuldtidsjob som programmør. Tag et kig på hjemmesiden.



Peter Lykkegaard (15-10-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 15-10-02 10:58

Som svar på skriblerier nedfældet af Dahl :

> Jeg har hørt at ved indeksering af udvalgte kolonner i databasen kan
> søgninger optimeres ret kraftigt, hvilket et par hurtige forsøg da
> også har vist. Dog er min viden om administration og optimal design
> af databaser ret begrænset, så jeg har svært ved at vurdere hvilke
> kolonner der skal indekseres, om de skal sættes til 'clustered' osv.

Primært skal du angive det kriterie der har den største effekt som det
første
Index skal så rettes til så de afspejler dette valg
Like clauses skal placeres som det absolut sidste da "Like '%23%'"
uværgerligt giver tablescans

Et pænt workload og brug af Query Analyzeren (QA) giver en god rettesnor
Mht clustered index så kan der kun være et clustered index per tabel
Jeg opfordre ret kraftigt til at undersøge effekten af denne type index via
QA
Man bliver overrasket over hvor det faktisk har størst effekt, og det er
meget afhængig af datagrundlaget
Primary key er faktisk det sidste sted man skal lave det

> Samtidig må der også være nogle bagdele ved indeksering som jeg godt
> kunne tænke mig at tage i betraktning.

Performance tab ved inserts/updates
>
> Gode bøger eller andet ville også ha' interesse.
>
WROX: Professional SQL Server 2000 Programming - Rob Vieira, Michael Maston
http://tinyurl.com/1zmq

Jeg har været glad for udgaven til MSSQL7

mvh/Peter Lykkegaard



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste