Maison > base de données > tutoriel mysql > Comment stocker de manière optimale les valeurs de hachage SHA1 dans MySQL : BINARY(20) ou VARCHAR(40) ?

Comment stocker de manière optimale les valeurs de hachage SHA1 dans MySQL : BINARY(20) ou VARCHAR(40) ?

Linda Hamilton
Libérer: 2024-11-25 05:00:15
original
881 Les gens l'ont consulté

 How to Optimally Store SHA1 Hash Values in MySQL: BINARY(20) or VARCHAR(40)?

Stockage des valeurs de hachage SHA1 dans MySQL : choix de la longueur de champ optimale

Lors du stockage de la sortie d'un hachage SHA1 dans une base de données MySQL, il est Il est crucial de considérer la longueur appropriée du champ qui contiendra cette valeur hachée. Cet article explore ce problème en examinant diverses options et en fournissant des recommandations basées sur les performances et l'efficacité du stockage.

Champs de longueur variable ou fixe

Pour les données de longueur variable, VARCHAR cela peut paraître tentant. Cependant, étant donné que les valeurs SHA1 ont toujours une longueur de 160 bits, l'utilisation de VARCHAR gaspillera de l'espace en raison de l'octet supplémentaire requis pour la spécification de la longueur.

Stockage binaire ou hexadécimal

Le L'algorithme SHA1 renvoie une valeur qui utilise 4 bits par caractère. Le stockage direct de cette valeur nécessiterait un VARCHAR d'une longueur de 40 caractères. Cependant, en convertissant la valeur SHA1 en binaire à l'aide de la fonction UNHEX, vous pouvez réduire les besoins de stockage à 20 caractères, à l'aide d'un champ BINARY(20).

Considérations relatives aux performances

Lors du stockage de millions d'enregistrements, BINARY(20) s'avère plus efficace que CHAR(40), comme le démontrent des tests comparatifs. BINARY(20) nécessite moins d'espace de stockage, ce qui améliore les performances des opérations de base de données.

Recommandation

Par conséquent, l'approche recommandée pour stocker les valeurs de hachage SHA1 dans MySQL consiste à utilisez BINARY(20) et convertissez la valeur hexadécimale SHA1 en binaire à l'aide de UNHEX. Cette méthode permet une utilisation optimale de l'espace de stockage et garantit des performances efficaces de la base de données.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal