Maison >base de données >tutoriel mysql >optimisation mysql (5) indexation et tri
Deux situations peuvent se produire lors du tri :
1 : Pour couvrir les index, lors d'une requête directement sur l'index, il y a un ordre,
en utilisant l'index, ou il peut être le long du champ d'index lors de l'interrogation du tri requête. À l'heure actuelle, le coût de tri est faible
2 : Retirez d'abord les données et formez une table temporaire pour le tri des fichiers (tri des fichiers, mais le fichier peut être sur le disque ou en mémoire)
Notre objectif -----les données récupérées elles-mêmes sont en ordre !
Utilisez l'index pour trier.
Par exemple : table de produits, (cat_id,shop_price ) forment un index commun,
où cat_id=N commande par shop_price, vous pouvez utiliser l'index pour trier,
sélectionner Goods_id,cat_id,shop_price à partir de la commande de marchandises par shop_price ;
/ / en utilisant Where, les résultats extraits selon l'indice shop_price sont eux-mêmes commandés
sélectionnez Goods_id,cat_id,shop_price de la commande de marchandises par click_count ;
// l'utilisation de filesort utilise le tri de fichiers, c'est-à-dire que les résultats récupérés sont à nouveau triés
Lorsque mysim est exécuté, il les trouvera tous, les triera, puis reviendra en arrière pour récupérer les lignes. Tant qu'il y a un index, il n'est pas très important de combiner les clics d'index et les identifiants pour construire un index
innodb est juste sous la feuille
Les index en double n'ont aucun sens
Les index redondants améliorent l'efficacité. Deux index loueront des clés gauches différentes dans différentes situations
Fragmentation et maintenance des index
Les grands sites Web suppriment rarement les données, ce qui créera un trou sur le disque ; les octets courts qui ne sont pas facilement réutilisés ne le seront pas facilement
Fragmentation de la mémoire
Corriger les failles
Pendant le processus de modification des données à long terme, les fichiers d'index et les données les fichiers généreront des trous et formeront des fragments
On peut utiliser une opération nop (pas (opérations qui ont un impact substantiel sur les données),
pour modifier la table.
Par exemple. : le moteur de la table est innodb,
peut modifier la table xxx moteur innodb ce qui n'a essentiellement aucun impact sur les données pour modifier la table Mais les données seront réorganisées
optimiser le nom de la table, qui peut également être réparé. Optimisez cette table pour vous aider à la réparer
Remarque : La réparation des données et des fragments d'index de la table réorganisera tous les fichiers de données ; alignez-les.
Ce processus est également une opération très gourmande en ressources si le nombre de lignes dans le tableau est relativement important.
Ainsi, les réparations ne pourront pas être effectuées fréquemment. Le cycle sera plus long. ! ! ! !
Si l'opération de mise à jour de la table est très fréquente, elle peut être réparée sur une base hebdomadaire/mensuelle
Si elle est peu fréquente, elle peut être réparée sur une base hebdomadaire/mensuelle. une période plus longue.