30. marts 2001 - 02:33Der er
12 kommentarer og 1 løsning
Benchmark spørgsmål...
Jeg sidder og arbejder med en cd-database, med ca 80.000 titler.
Jeg har nu fået mulighed for også at gemme titler på numrerne, men er lidt i tvivl om hvordan.
Enten skal jeg gøre det på den korrekte måde, som relationsDB, dvs oprette en tabel med cd-ID og de titler der følger med. Dermed kan man søge i titlerne.
En anden måde er at gemmer titlerne som et array i selve CD tabellen! Derved kan man IKKE søge.
Nu til mit spørgsmål: \"Titel tabellen\" vil komme til at indeholde 800.000 til 1.000.000 linjer. Vil det dermed blive meget langsomt eller er det ikke noget at snakke om?
Jeg vil helst undgå at bruge \"array-løsningen\" af åbenlyse grunde, men vil på den anden side heller ikke lave nettets langsomste database!!
databasen ligger p[ disken, så det er sku ikke ramen der spilder den vilde rolle .. du søger altså hurtiger ved at have en ultradma100 end 5400/66 osv .. jeg er ikke sikker, men mener ikke at det som default hjælper med mere ram. Du skal eksplicit give mere cache et eller andet sted afaik .. men er rimelig blank, da jeg ikke sidder ved min mysql lige nu ..
det har noget med hvor meget de hente fra din database .....
\'led 1000 titler igennem og giv mig hits\'ne\' eller \'... giv mig de 10 først hits\' ... jo, der er forskel .. men jeg har ikke en så stor database jeg kan teste på, ved bare at det går hurtigere på min mest intensive søgninger,fordi databasen kun behandler 10 rows, itsteder for alle dem der matcher. Den stopper derfor også sin søgning tidligere...
jeg vil ikke tro at det er en mirakel kur, men du skal kunne mærke forskel ..
Ok, nu er det ikke for at være sur, men det vel rimeligt åbenlyst at jeg bruger LIMIT til at hente data\'ene på, da jeg ikke kan se det fede i at hente og vise 80.000 titler på én gang.
Det var sådan set heller ikke det spørgsmålet gik på. Det var om jeg skulle gemme titlerne i et array, eller i en tabel for sig, hvilket ikke har meget med LIMIT at gøre, da det ikke giver mening at liste f.eks de 10 første numre fra \'titeltabellen\' der indeholder titler på numrerne fra alle 80.000 CD\'er.
Med mindre LIMIT virker på en anden måde, end det jeg bruger den til.
sorry, så ikke for løkken .. selvf. php lave 80000 requests til mysql fordi du gør det i en for løkke .. det er altså 105 inserts i sekundet .. det er ok for mig .. man laver jo ikke en sådan operation i den virkelige verden .. det er er højst ved oprettelse ..
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.