06. juni 2001 - 18:08Der er
4 kommentarer og 1 løsning
Hastighed på søg
Jeg har en tabel hvor første kolonne(primary key) er et ID, den anden kolonne er et navn og de tre sidste er filer(binær - ca. 5 mb). Navne kolonnen er også en nøgle.
Nu vil jeg uddrive kolonne * hvor navn = \'etEllerAndet\' Tager denne søgning LAAANG tid, hvis der er store filer i de andre kolonner? Hvis dette er tilfældet, tager det så lang tid kun at uddrive ID, navn hvor navn = \'etEllerAndet\'?
Søgningen i selv tabellen burde ikke tage lang tid. Internt i databasen ligger text (BLOB) felter ikke i samme page som alm. data - så en søgning indvolvere ikke disse felter (pånær du specielt ønsker det). Selve udskrivningen af det fundne data kan derimod godt tage lang tid. der skal jo f.eks. sendes over 15mb (fra db til klient) ved din \"select * from min_tabel\".
Næh (eller jo - der skal vel sendes \"antal blobs i select * 8 bytes\" mere ved navne forespørrelsen)... når du kun snakker om selve søgningen (internt i db\'en).
databasen arbejder med pointere (værdier på addresserum) til blob felterne. Databasen behøver desuden ikke læse data\'en i de felter der er inkluderet i forrespørgelsen (kun dem der skal indekseres efter, navn i dit tilfælde -> where navn = \'hans\').
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.