Couverture de l'index** Un concept très important est de rechercher sur l'index ! ! !
Si la colonne interrogée fait partie de l'index, alors la requête ne doit être effectuée que sur le fichier d'index, et il n'est pas nécessaire de revenir sur le disque pour trouver des données
<.>Ce type de requête est très rapide et est appelé « couverture d'index »
Le fichier d'index d'index non clusterisé correspond au rembobinage des données, ce qui fait perdre du temps
La différence entre index et données
L'index est un arbre, un nœud organisé efficacement, la structure des feuilles de recherche est meilleure que les données
L'index peut être importé dans la mémoire pour la requête
La structure des données de l'index en soi, c'est simple et il est très rapide de le mettre en mémoire
. . . . . . . . . Du coup, c'était plein dès mon retour. . . J'essuie. . .
Donc, si vous créez deux index index (uid, aid)
Si les données que vous souhaitez ont été couvertes dans l'arborescence d'index, par exemple, sélectionnez uid from msg où aid = 1
L'index a couvert ce que vous souhaitez rechercher, donc la vitesse et l'efficacité de la récupération de l'index directement à partir de la mémoire sont très rapides, il n'est donc pas nécessaire de revenir en arrière et de rechercher
Index optimal :
Requérez fréquemment, distinguez Haut degré, petite longueur
Essayez de couvrir les champs communs, ------》Couverture de l'index
Le préfixe de gauche n'est pas facile pour distinguer, inversez l'url pour obtenir le contenu ; le préfixe de gauche est très distinctif
Pseudo hash crc32() pour distinguer de manière unique crc32 ('http://wwww.baidu.com'); un index pour urlcrc au lieu d'indexer l'url pour éviter l'indexation
Apprenez à expliquer pour voir l'effet
Effet d'index de pseudo-hash
Enregistrer la colonne url_hash en même temps
create table t10 ( id int primary key, url char(60) not null default '' );
insert into t10 values (1,'http://www.baidu.com'), (2,'http://www.sina.com'), (3,'http://www.sohu.com.cn'), (4,'http://www.onlinedown.net'), (5,'http://www.gov.cn'); alter table t10 add urlcrc int unsigned not null;
Parce que le résultat de crc est un nombre entier non signé de 32 bits, lorsque le les données dépassent 4 milliards, il y aura duplication, mais cela en vaut la peine
(La longueur de l'index est de 4 octets entiers)
Conception d'index multiples
Mais à en juger par l'activité réelle du centre commercial, les clients choisissent généralement d'abord les grandes catégories ->petites catégories-> Marque,
Choisissez enfin (1)index(cat_id,brand_id), index(cat_id,shop_price; ) pour construire l'index
Vous pouvez même ajouter (3)index(cat_id,brand_id,shop_price) ,3 champs redondants d'index redondants. . .
Mais les 2 premières colonnes de (3) sont les mêmes que les 2 premières colonnes de (1), puis supprimez (1)
index (cat_id,price) et index(cat_id,brand_id,shop_price); c'est-à-dire que le principe du préfixe de gauche peut être redondant mais ne peut pas être répété
Le ci-dessus est l'optimisation mysql ( 4) Couverture de l'index et contenu optimal de l'index. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !