09. maj 2006 - 16:15Der er
17 kommentarer og 2 løsninger
500.000 records - hvad er mest optimalt?
Det er sådan at jeg går og arbejder på et website som har en tabel tilknyttet, hvori der vil kunne findes op til 500.000 rækker. Hvordan er det mest optimalt at opdele dette når det skal fungere hurtigt og pålideligt, uden at belaste serveren for meget, osv.? Skal man ud i at dele det op over flere tabeller, eller hvordan?
Det kommer helt an på hvordan den tabel ser ud. Men man skal for så vidt muligt normalisere sine tabeller så meget som muligt. Og så kommer det også an på om de felter du søger på er indexeret. Men 500.000 records betyder ikke noget.
MyISAM tabeller: fragmentering af filerne paa disk - kan forbedres med normal defragmentering (med MySQL lukket ned) fragmentering af raekker internt i fil - jeg ved faktisk ikke meget om MySAL MyISAM i denne sammenhaeng, men docs har bl.a. http://mysql.telepac.pt/doc/refman/5.0/en/optimize-table.html
) EXPLAIN SELECT c.navn,c.adresse,c.postnr,c.by,c.tlf,c.mobil,c.fax,a.type FROM ads a JOIN customers c ON c.id=a.kundeid WHERE (c.navn LIKE '%maler%' OR a.branche LIKE '%maler%' OR a.sogeord LIKE '%maler%') ORDER BY a.type DESC
Arh, alright. Ja se det er jo faktisk lidt et problem, så skal jeg jo finde på en lidt anden måde at dele det op på måske. Hmm.. Det må jeg vist hellere kigge nærmere på..
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.