Avatar billede apocryphal Nybegynder
18. juni 2002 - 12:37 Der er 2 kommentarer og
2 løsninger

Størrelse på datafelter

Hvis jeg har en tabel nu, med en kolonne (value), af datatypen text.

Hvis størstedelen (90%) af disse felter faktisk kun er fyldt med tekststrenge på ca. 60 karaktere - så har databasen stadig allokeret harddiskplads til kolonnen, somom den havde et helt fyldt text-felt?

Eller allokere den kun plads, for det som faktisk at indsat?

--
Jonas
Avatar billede snowball Novice
18. juni 2002 - 12:39 #1
Sæt datatypen til varchar. Så bruger den kun det antal tegn som den rent faktisk skal benytte og ikke li'som char hvor den bare sætter en masse " " (space) ind på resten af pladserne, hvilket godt kan give nogle problemer når man henter data ud igen!

Snowball
Avatar billede a1a1 Novice
18. juni 2002 - 12:56 #2
det kommer an på om det er char eller varchar
(jeg tror nu ikke nu kan se en størelses forskel da databasen altid er "størrere" end der er brug for)

Ved char bliver der reserveret X antal felter, ved varchar OPTIL X antal felter, det betyder (teoretisk set (DU vil nok ikke kunne se forskellen)) at det tager længere at hente et varchar felt end et char felt, fordi at databasen så skal finde længden også, inden det "tager" feltet.

:)
Avatar billede cbp Nybegynder
18. juni 2002 - 15:41 #3
Datatypen text allokerer en vis mængde plads på disken blandt de øvrige data fra record'en (Jeg mener at det er 1024 bytes). Hvis de data man indsætter fylder mere end denne grænse oprettes en seperat page til disse data.

a1: char er ikke nødvendigvis hurtigere end varchar. Derimod skal man skelne mellem om de data man hælder i variere meget i længde eller om de er nogenlunde lige lange. Hvis længden varierer meget lidt (eks. et postnummer som næsten altid er på 4 tegn) er det godt med et char-felt. Hvis data-længden er varierende er varchar godt da man kan holde flere records indenfor en enkelt page på disken.

Dit 'simple' spørgsmål er altså ikke så simpelt men du kan godt gå ud fra de ovenstående tommelfingerregler. Og ellers findes der hele bøger om netop dette emne :-)
Avatar billede apocryphal Nybegynder
18. juni 2002 - 17:25 #4
Hmm, ja det er vidst lidt mere komplekst end som så.

Jeg tænkte, at det nok var noget basalt jeg havde misset.

Men tak, i hvertfald :)

--
Jonas
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