[mysql] Welk veldtype gebruiken (Varchar of Text)?

Pagina: 1
Acties:

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik heb een veld in m'n database waar de homepage van een user opgeslagen kan worden. Aangezien je bij sommige providers (zoals Sonera) nogal lange homepage URL's hebt, heb ik er voor gekozen een VARCHAR(100) van het veld te maken. Nu vraag ik me af of ik niet beter een TEXT veld hiervan kan maken.

Is het bij een VarChar veld zo dat indien je homepage bijvoorbeeld maar 50 tekens is dat de andere 50 positief ook nog geheugen innemen?

Welke veldtype kan ik het beste gebruiken in deze situatie :?

It’s nice to be important but it’s more important to be nice


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Varchar gebruikt alleen het aantal tekens dat ook daadwerkelijk gevuld zijn.
En ik denk dat een text een beetje een overkill is. Een URL mag iets van 255 tekens zijn (tenminste, in http1.1 onbeperkt geloof ik, maar er moest rekening worden gehouden met proxy's die 255 tekens aanhouden). Nou ben ik op zich niet zo vaak url's van zo achterlijk lang tegengekomen.... ;) Maar ik zou 'm lekker bij varchar houden, en hooguit de size 100 ophogen.

Exact expert nodig?


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Thanks :)
Ik was een bang dat ik nogal onzuinig met geheugen aan het omgaan was. Het lijkt me dus dat je TEXT velden alleen hoeft te gebruiken als het aantal tekens extreem variabel is zoals bij een forumbericht ofzow?

It’s nice to be important but it’s more important to be nice


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Text gebruik je eigenlijk alleen voor LANGE berichten (over de 255 karakters..)

[Overbodige Informatie maar leuk om te weten]
Als je gaat zoeken op een exacte string dat bijvoorbeeld 'hallo hoe gaat het?' is zal de database eerst controleren (bij varchar) of de lengte van de string dat gecontroleerd wordt wel gelijk is. Hierdoor wordt het zoeken van de string sneller dan als je op een char(100) of text gaat zoeken. (Want daar wordt dan "gewoon" letter voor letter afgelopen)
[/Overbodige Informatie maar leuk om te weten]

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR