21. august 2009 - 10:36Der er
4 kommentarer og 1 løsning
Varchar eller Text
Hej Experter
Er ved at designe en database hvor jeg gerne vil adskille ALLE tekster fra "systemdata" således at systemet let kan oversættes til flere sprog.
Nu er min tanke så om det er hensigtsmæssigt at lave en tabel "tekster" og så gemme alle tekster som datatype "test". vil dette have indflydelse på søgehastigheden fremfor at bruge varchar til kortere tekster tinytext til lidt længere tekster osv.
Min tanke var at opbygge tabellen således
tekster - id int(10) auto_increment - sprog_id int(3) trækkes fra "sprog" - tekst_navn varchar(20) definere hvilken tekst feltet indeholder - tekst text() teksten
Indholdet kan naturligvis både være et kort ord, men også en forumtråd
Tror jeg holder mig til VARCHAR til alle de datafelter hvor det er muligt. Havde også en fornemmelse af at det var smartest, men må erkende at jeg ikke har læst ret meget SQL.
Arne kan du ikke smide et svar for forklaringen.
PS: therealyoda Du har ret i at jeg søger efter VARCHAR når jeg trækker data ud. Men der kan jo forekomme rigtig mange situationer hvor jeg skal søge efter indholdet. ex. i en vare database eller lign.
Typiske problemer med små LOB's er: - dårligere performance fordi de gemmes separat i.s.f. sammen med resten af rækken - nogle streng funktioner virker ikke på LOB's - restriktioner på GROUP BY, ORDER BY og INDEX'es
Disse er alle bivirkninger ved LOB's evne til at håndtere meget store data.
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.