« MySQL/Types de données » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 41 :
<code>VARCHAR</code> est l'abréviation de <code>CHARACTER VARYING</code> (''caractère variant'' en anglais). 'n' représente la taille maximum de colonne (jusqu'à {{formatnum:65535}} caractères). Par exemple, une colonne de type <code>VARCHAR(10)</code> peut contenir 10 caractères maximum. La taille du stockage correspondant en fait à la taille du texte contenu (L), plus un ou deux octets (un si la taille est inférieure à 255).
 
Par exemple pour la chainechaîne "abcd", L = 4 et le stockage = 5.
 
<code>CHAR(n)</code> est similaire à <code>VARCHAR(n)</code> sauf qu'il occupe une taille fixe, il ne tient pas compte de son contenu. Un champ CHAR prend donc plus de place de stockage, est 20 % plus performant pour les recherches s'il est index<ref>https://dba.stackexchange.com/questions/424/performance-implications-of-mysql-varchar-sizes/1915#1915</ref>.
Ligne 48 :
Les types <code>TEXT</code> et <code>BLOB</code> (binary large object) ont une taille maximum de {{formatnum:65535}} caractères. L'espace requis est la taille réelle des données stockées, plus un ou deux octets (un si < 255). Comme elles ne sont pas stockées dans le fichier de données, toutes les opérations (<code>INSERT / UPDATE / DELETE / SELECT</code>) les concernant sont plus lentes, mais cela a l'avantage de rendre celles qui ne les touchent pas plus rapides.
 
Toutefois le <code>BLOB</code> possède plusieurs déclinaisons<ref>{{ouvrage|url=https://books.google.fr/books?id=4_5GPcYUh2AC&pg=PA29&lpg=PA29&dq=tinyblob+longblob&source=bl&ots=O-7uyDYHkl&sig=fJJJc0bXVjYNmKhJ2LUHvEjbm7I&hl=fr&sa=X&ved=0ahUKEwjq0uCx7eXKAhXMnRoKHVfkDPEQ6AEIYDAI#v=onepage&q=tinyblob%20longblob&f=false|titre=Apprendre SQL avec MySQL : Avec 40 exercices corrigés|prénom1=Christian|nom1=Soutou|éditeur=EditionsÉditions Eyrolles|date=7 juillet 2011}}</ref> :
* <code>TINYBLOB</code> : 255 o.
* <code>MEDIUMBLOB</code> : 16 Mo.