04. februar 2009 - 12:17Der er
11 kommentarer og 1 løsning
Fordel og ulemper ved store tabler
Hej,
Jeg har 120000 "rows" og for "row" har jeg ca 10000 varchar(16).
Mit spørgsmål er hvad er fordel ulemper ved en stor MyISAM table sammmenlignet med at lave 10000 seperate tabler.
I fremtiden får jeg nye varchar(16) søjler. Antal "rows" er konstant.
Mit primitive syn på sagen er at det er hurtigere at oprette seperate tabler end en stor table men administrativt er det lettere at have en stor table.
Er der en god bog hvor jeg kan læse mere om database design.
Ja, læg endelig et svar. Det er nok bedste at lave nogle små test for se hvad der er mest praktisk. Dette tager naturligvis lidt tid men er nok i sidst ende hurtigere end læse en masse teori.
Er nu ganske godt at kende teorien, i hvert fald et basalt overblik, der ligger mange års erfaringer bag disse og du få ikke samme erfaringsgrundlag, ved at lave 50 tests på et udvalgt data sæt
Jeg har genopfrisket min viden om normalisering v.hj.a. dinne links. Jeg fortolker normaliserings reglerne sådan at der ikke er noget i vejen med min store table så længe jeg ikke har tomme felter og mine værdier i søjlerne kun afhænger a primary key.
Spoergsmaalet om N tabeller med M felter versus 1 tabel med M+1 felter (hvor det ekstra felt indeholde information som ellers var i valget af tabel) er ikke et normaliserings/denormaliserings problem - der er ikke redundant information i nogen af modellerne.
Jeg er dog helt klart for en enkelt tabel. Fordi: - simplere applikations logik - nemmere database administration - fornuftige indexes boer kunne give fornuftig performance
Mere specifikt for din problem stilling vil jeg nok foreslaa:
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.