Avatar billede intenz Novice
29. december 2004 - 16:29 Der 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?

Eller er det det samme?
Avatar billede dsj Nybegynder
29. december 2004 - 16:35 #1
Jeg vil tro, at tabellen faktisk vil fylde mere, hvis den har værdien NULL, end hvis feltet er tomt, da NULL stadig er en værdi.

Uanset om jeg har ret eller ej, så er forskellen så lille og ubetydelig, at det er ligegyldigt.
Avatar billede intenz Novice
29. december 2004 - 16:38 #2
Jeg troede null var ikke eksisterende, at det bare blev oversat til null hvis der var ingenting?
Avatar billede dsj Nybegynder
29. december 2004 - 16:44 #3
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.
Avatar billede arne_v Ekspert
29. december 2004 - 16:51 #4
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.
Avatar billede intenz Novice
29. december 2004 - 17:10 #5
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.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester