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)

À 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
2020-04-22 13:18:015851parcourir

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.

À propos de la création dune base de données cmd5 au niveau dun milliard avec MySQL et une requête au niveau de la milliseconde (processus complet)

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.

À propos de la création dune base de données cmd5 au niveau dun milliard avec MySQL et une requête au niveau de la milliseconde (processus complet)

Commencez à importer des données. C'est très simple. Référez-vous simplement à l'image et découvrez-la vous-même.

À propos de la création dune base de données cmd5 au niveau dun milliard avec MySQL et une requête au niveau de la milliseconde (processus complet)

Référez-vous à votre propre source de base de données, définissez l'encodage

À propos de la création dune base de données cmd5 au niveau dun milliard avec MySQL et une requête au niveau de la milliseconde (processus complet)

Référez-vous au contenu de votre propre base de données.

À propos de la création dune base de données cmd5 au niveau dun milliard avec MySQL et une requête au niveau de la milliseconde (processus complet)

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.

À propos de la création dune base de données cmd5 au niveau dun milliard avec MySQL et une requête au niveau de la milliseconde (processus complet)

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer