dorian53
Messages postés102Date d'inscriptionlundi 14 avril 2003StatutMembreDernière intervention22 août 2005
-
1 oct. 2004 à 16:30
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
1 oct. 2004 à 21:59
Bonjour,
j'ai cherché sur les differents posts et sites web existant sans jamais trouver réellement ma réponse.
Pourquoi choisir un type varchar plutot que tinyblob qui est beaucoup plus avantageux en ce qui concerne la taille de stockage ?
L'attribut [M] définit le nombre de caractères maximum que le champ pourra contenir.
VARCHAR (M) [BINARY]
Occupe M+1 octets.
Ce type de données stocke des chaînes de 255 caractères maximum. L'option BINARY permet de tenir compte de la casse.
TINYBLOB (L représente la longueur de la chaîne)
Occupe L+1 octets.
Stocke des chaînes de 255 caractères maximum. Ce champ est sensible à la casse.
Est ce juste le fait que varchar est une chaine de caractere alors que tinyblob est une petite zone de texte ? (ce qui change rien de concret sur la pratique il me semble)
tardigrade
Messages postés208Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention 2 décembre 2008 1 oct. 2004 à 18:57
Tu as de nombreuse différence la principale est l'espace alloué si tu prends un VARCHAR de 255 et un TINYBLOB tu peux utiliser jusqu'à 255 caracteres mais si ta chaine de caractere varchar ne compte que 20 caracteres la place utilisee ne sera que de 20 octets alors que dans l'autre type elle sera toujours de 255 octets peut importe la taille de ta chaine.
Tu peux imaginer le gain de place si ta table est de 1 000 000 d'occurrences et que tes chaines de dépassent que rarement les 100 caracteres.
Donc pour moi entre les deux il n'y a pas photo c'est varchar qu'il me faut
Ce qui suit vient de la doc officielle:
- Vous pouvez indexer les colonnes de type BLOB ou TEXT à partir de la version 3.23.2 de MySQL. Les versions plus anciennes ne peuvent pas indexer ces colonnes.
- Pour les index des colonnes BLOB et TEXT , vous devez spécifier une taille d'index. Pour les colonnes de type CHAR et VARCHAR , la taille du préfixe est optionnelle.
- Il n'y a pas de suppression des espaces finaux lors du stockage de valeur dans des colonnes de type BLOB et TEXT , ce qui est le cas dans pour les colonnes de type VARCHAR .
- Les colonnes BLOB et TEXT ne peuvent avoir de valeur par défaut. ( DEFAULT )