29. december 2004 - 16:29Der er
4 kommentarer og 1 løsning
null - kan det betale sig?
Lige et hurtigt spørgsmål jeg har overvejet lidt. Hvis man nu opretter en tabel med fx. et text felt.
Man udfylder så ikke text-feltet ved alle indsættelser. Vil databasen så fylde mindre hvis man sætter feltet til null end hvis den er not null og bare tom?
Det er ikke helt korrekt, NULL er en værdi. Når du har et tomt tekst-felt (text eller varchar), gemmer MySQL for hvert felt, hvor mange data det indeholder. Er feltet tomt, vil feltet indeholde 0 bytes, men dette er ikke ensbetydende med, at feltet har værdien NULL. Hvordan MySQL håndterer NULL-værdier er jeg ikke så meget inde i, så jeg ved ikke, hvordan den angiver, at et felt har værdien NULL.
Man kan: 1) lave et eksperiment 2) hente og kigge i MySQL source code 3) gætte baseret på sund fornuft
Med hensyn til #3 så kan man gætte på at MySQL har et flag i en row header som fortæller om den er NULL eller ej. Og i så fald vil man spare et længde felt i forhold til ''. For et TEXT felt vil det sige at man sparer 2 byte.
Hvis det gæt er rigtigt så vil man på 100000 NULL's spare 200 KB, hvilket er ingenting.
Nu har jeg testet det. 1000 rækker i to ens databaser hvor den enes text felt var null og den andens not null.
De fylder det samme.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.