Maison > Article > base de données > À propos de la création d'une base de données cmd5 au niveau d'un milliard avec MySQL et une requête au niveau de la milliseconde (processus complet)
Avant-propos :
J'ai également joué avec les bases de données récemment, et j'ai l'impression que les machines ordinaires sont encore un peu en retard en matière de bases de données. Lors de la recherche de texte intégral, c'est le cas. La recherche peut prendre plus d'une minute.
Mais la bibliothèque cmd5 est très bonne, une base de données au niveau du milliard, au niveau de la milliseconde.
D'accord, commençons. Tout d'abord, vous avez besoin d'une base de données MySQL.
Environnement :
apmserv5.2.6 php+mysql Navicat for MySQL
Je recommande ces deux logiciels, l'installation est très simple, les deux sont en chinois, il est donc facile à utiliser pour les novices.
Les autres éléments nécessaires sont un ordinateur et environ 10 Go d'espace disque dur. Un dictionnaire plus grand.
Commençons la première partie. Ouvrez la connexion Navicat pour MySQL C'est très simple, je ne ferai donc pas de capture d'écran ici.
Recommandé : "Tutoriel vidéo MySQL"
Commencez à créer la table, hash_cmd5, field, plaintext, cmd5_16, cmd5_32
sont tous configurés pour ne pas vide, le premier vaut 255, le deuxième vaut 16 et le troisième vaut 32 bits.
Commencez à importer des données. C'est très simple. Référez-vous simplement à l'image et découvrez-la vous-même.
Référez-vous à votre propre source de base de données, définissez l'encodage
Référez-vous au contenu de votre propre base de données.
Sauter directement les quatrième et cinquième parties.
Commencez la sixième étape, il vous suffit de définir le texte en clair, les autres champs n'ont pas besoin d'être définis, mais la condition préalable doit être de sélectionner le texte en clair trouvé dans la base de données, sinon cela n'aura aucun sens.
Allez directement à l'étape 8 pour importer les données.
Essayons par vous-même. L'étape suivante consiste à vous apprendre à générer par lots cmd16 32 bits.
Importation de table unique à grande vitesse
Supposons : votre fichier texte est dans d:aa.txt
Nom de la table : t
Nom du champ : c
La commande suivante
mysql> load data local infile 'd:/aa.txt' into table cmd5 lines terminated by ',' (cmd5_txt);
crée 32 md5 16 bits en un seul clic
update `hash` set cmd5_16 = substr(md5(plaintext), 1, 16) where 1=1 update `hash` set cmd5_32 = md5(plaintext) where 1=1
Quant à certains experts, cela La méthode est instable et ainsi de suite. Lorsqu'elle est testée sur une seule machine, il n'y a aucune pression sur une seule table de 600 millions.
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!