Gert Krabsen <fjernkrabsen@fjernkrabsenfjern.dk> skrev Fri, 15 May 2009
19:41:13 +0200
>Hvor mange indexer snakker vi om?
>
Set i en større perspektiv er det ikke noget at skrive hjem om. Den
aktuelle tabel fylder pt. 25 MegaByte og indexet knapt 20 MB fordelt på
8 indexer (text) plus Primary (id).
Men det er den eneste grund jeg kan se til, at indtasterne oplever
stigende ventetider på indlægning af data efterhånden som databasen
vokser.
Jeg er godt klar over, at færre felter og færre og mere intelligent
udtænkte indexer måske kunne løse en del af problemet. Men jeg er
egentlig mere interesseret i, at høre hvordan man mest hensigtsmæssigt
omgår problemet. Strengt taget er der jo ingen grund til, at disse
indexer bliver opdateret flere gange i minuttet,
Da en del af indexerne omfatter varchar på op til 150 tegn kunne man
måske hente noget ved at begrænse størelsen af index. Men jeg kan ikke
helt genemskue, om det er en god ide.
>Eller er det sådan, at opdateringsrutinerne bruger tabeller, som
>slutbruger ikke anvender (f.eks. til kontrol af det indtastede) og netop
>_disse_ tabeller mangler indekser?
>
Nej, der indtastes direkte i brugstabellen. Indtasteren har tildelt en
pulje på eks. 100 poster og linierne er i forvejen indsat. Så det er
altså en "update" ikke en "insert".
>Eller bruger sql-kald med komplicerede sub-queryes eller joins?
>
Nej, det kan jeg slet ikke finde ud af at lave.
Og som nævnt er problemet der når der skal gemmes data, ikke når der
bare bladres igennem posterne.
Eneste fix-faxerier er, at alle indtastninger af sikkerhedsgrunde bliver
log-ført i en simpel tekstfil, men det er ikke dér problemet er.
>Eller skyldes det, at i gemmer grafik (indscannet billede) i tabellerne?
>- så kan jeg godt forestille mig, at opdateringen bliver tung - og
>tungere end udsøgningen.
>
Nej, det er kun filnavne der er i databasen. Billederne ligger slet ikke
på den samme server, (men det har nu helt andre årsager, nemlig et
spørgsmål om båndbredde).