2009-08-18 4 views

Répondre

4

binaire (16) est une longueur fixe. Il utilise toujours 16 octets de stockage pour chaque ligne, en remplissant les octets supplémentaires avec 0x00 ou 0x20 (selon la version de MySQL) et en les supprimant sur SELECT. varbinary utilise une quantité d'espace variable - tout ce qui est nécessaire pour stocker les données sur cette ligne.

Si vos données sont toujours exactement 16 octets, il n'y a aucune différence. De façon réaliste, il n'y a probablement pas de différence avec une colonne aussi petite.

0

MySQL Manuel de référence: The BINARY and VARBINARY Types

« Lorsque les valeurs BINARY sont stockées, elles sont à droite avec la valeur jusqu'à la longueur spécifiée ... Pour VARBINARY, il n'y a pas de remplissage à l'insertion et aucun octet sont dépouillés sur select. "

0

Pour développer sur ce point, la différence entre VAR_TYPE_ et TYPE (où TYPE est quelque chose comme CHAR, INT, BINARY, etc.), est que la "version" non-VAR va se rembourré pour la longueur totale que vous spécifiez (si nécessaire). VAR- ne sera pas rembourré, ce qui le rend approprié pour stocker des commentaires de texte et autres.

Questions connexes