|
|
Publié sur 20/09/2019 09:31:08
|
|
|

Le concept d’indexation
L’objectif de l’établissement d’un index est d’améliorer les performances du système de base de données, d’accélérer la vitesse de requête des données et de réduire le temps de réponse du système. Qu’est-ce qu’un index : Un index dans une base de données est similaire à une table des matières d’un livre, où vous pouvez rapidement trouver les informations que vous souhaitez sans lire tout le livre. Dans une base de données, un programme de base de données utilise des index pour interroger rapidement les données dans une table sans avoir à scanner toute la table. La table des matières d’un livre est une liste de mots et des numéros de page dans lesquels ils se trouvent, et l’index dans la base de données est une liste des valeurs dans un tableau et de l’endroit où chaque valeur est stockée. Avantages et inconvénients de l’indexation : La majeure partie de la surcharge de l’exécution des requêtes est liée aux E/S, et l’un des principaux objectifs de l’utilisation des index pour améliorer les performances est d’éviter le balayage complet des tables, car le balayage complet des tables nécessite de lire chaque page de données depuis le disque, et s’il y a un index pointant vers une valeur de données, la requête n’a besoin de lire que quelques fois sur le disque. Par conséquent, l’utilisation raisonnable des index peut accélérer la requête des données. Cependant, les index n’améliorent pas toujours les performances du système, les tables indexées doivent occuper plus d’espace de stockage dans la base de données, et la même commande pour modifier et supprimer les données prendra plus de temps à s’exécuter et à maintenir l’index. Par conséquent, nous devons utiliser l’indice de manière raisonnable et le mettre à jour à temps pour supprimer l’indice sous-optimal.
Classification des indices
L’index est similaire à la table des matières devant le dictionnaire chinois, et vous pouvez rapidement localiser le mot que vous souhaitez trouver selon le pinyin ou la capitale. UNIQUE : La valeur de l’indice de chaque ligne est unique (une contrainte unique est créée, et le système créera automatiquement un indice unique). Index de clé primaire : La colonne de clé primaire spécifiée lors de la création du tableau crée automatiquement un index de clé primaire et présente des caractéristiques uniques. GROUPÉ : Les index regroupés sont équivalents à l’utilisation de la recherche pinyin d’un dictionnaire, car l’index regroupé stocke des enregistrements physiquement continus, c’est-à-dire que le pinyin a doit être suivi de b. NON CLUSTERED : Les index NON clustered sont équivalents à l’utilisation de radicaux de dictionnaire pour consulter, les index non clustered sont logiquement continus, et le stockage physique n’est pas contigu. Un index groupé ne peut avoir qu’une seule table dans une table, tandis qu’un index non regroupé peut avoir plus d’une table dans une table.
Quels champs doivent être indexés
1. Les clés primaire et étrangère du tableau doivent avoir un index 2. Les tables contenant plus de 300 données doivent avoir un index 3. Les tables fréquemment reliées à d’autres tables doivent être indexées sur les champs connectés 4. Les champs qui apparaissent souvent dans la clause Where, en particulier ceux dans de grandes tables, doivent être indexés 5. Les champs fréquemment triés ou regroupés (c’est-à-dire effectuer des opérations GROUP BY ou ORDER BY) doivent être indexés 6. L’indice doit être construit sur des champs hautement sélectifs 7. L’index doit être construit sur de petits champs, pour de grands champs de texte ou même des champs ultra-longs, ne pas construire d’index, et utiliser les entiers comme valeurs clés autant que possible, car les entiers ont la vitesse d’accès la plus rapide 8. L’établissement des indices composites doit être soigneusement analysé ; Essayez plutôt d’utiliser des index à champ unique 9. Les tables qui effectuent fréquemment la manipulation des données ne doivent pas être trop indexées 10. Supprimer les index inutiles pour éviter un impact négatif sur le plan d’exécution
L’inconvénient d’un trop grand nombre d’indices
1. L’espace de stockage deviendra plus grand, et chaque index devra être stocké dans l’espace 2. S’il existe de nombreux indices non regroupés, une fois que l’indice regroupé change, alors tous les indices non regroupés changeront en conséquence 3. Trop d’indices entraîneront une augmentation du nombre de combinaisons à évaluer dans le processus d’optimisation de l’optimiseur, ce qui augmentera le temps de requête 4. Chaque index contient des informations statistiques, et plus il y a d’indices, plus il y a d’informations statistiques, ce qui augmente le temps de requête 5. Surcharge de mise à jour : une fois qu’une donnée change et que de nombreuses colonnes changent, cela peut entraîner plusieurs changements d’index, entraînant un ralentissement de mise à jour, suppression et insertion
|
Précédent:Vidéo vidéo d’accompagnement fort d’adolescentProchain:C# reçoit la lettre du disque système courante, le répertoire système, le bureau, etc
|