Avatar billede groyk Novice
21. august 2009 - 10:36 Der 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
Avatar billede The Real Yoda Juniormester
21. august 2009 - 12:40 #1
Altså ..

Som jeg ser det, så søger du jo på varchar feltet.
At teksten så er af typen TEXT, gør jo ingen forskel for din søgning.
Avatar billede arne_v Ekspert
21. august 2009 - 15:06 #2
Standard raad for god database performance er at bruge VARCHAR og undgaa LOB's (MySQL TEXT/MEDIUMTEXT/LONGTEXT er CLOB's).

Saa hvis dine data kan vaere i en VARCHAR (husk at VARCHAR kan vaere laengere i nyere MySQL !), saa boer du hodle dig til dem.
Avatar billede groyk Novice
21. august 2009 - 22:11 #3
Tak for svarene.

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.
Avatar billede arne_v Ekspert
22. august 2009 - 01:49 #4
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.
Avatar billede arne_v Ekspert
22. august 2009 - 01:49 #5
og et svar
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