Stockage efficace des valeurs de hachage SHA1 dans MySQL
Lors du stockage du résultat d'un hachage SHA1 dans une base de données MySQL, une question courante se pose concernant le longueur de champ optimale.
Détermination de la longueur du champ
Évitez d'utiliser VARCHAR pour les données de longueur fixe comme les hachages SHA1, car cela introduit une surcharge. Optez plutôt pour un champ BINAIRE de longueur appropriée.
Stockage efficace
Les hachages SHA1 ont une longueur de 160 bits. Pour stocker cela au format binaire, nous avons besoin de 20 octets (160/8). L'utilisation de la fonction UNHEX pour convertir les valeurs SHA1 en binaire permet un stockage plus compact.
Optimisation de l'espace
BINARY(20) nécessite moins d'espace de stockage par rapport à CHAR(40). . Par exemple, avec un million d'enregistrements, BINARY(20) occupe 44,56 Mo de stockage, tandis que CHAR(40) en consomme 64,57 Mo. Cette optimisation devient significative dans les grandes bases de données.
Recommandation
Pour stocker efficacement les valeurs de hachage SHA1 dans MySQL, il est recommandé d'utiliser BINARY(20) et de convertir les hachages en format binaire à l'aide de la fonction UNHEX. Cela offre à la fois compacité et optimisation de l'espace.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!