MariaDB - Index et tableaux de statistiques

Les index sont des outils pour accélérer la récupération des enregistrements. Un index génère une entrée pour chaque valeur dans une colonne indexée.

Il existe quatre types d'index -

  • Primary (un enregistrement représente tous les enregistrements)

  • Unique (un enregistrement représente plusieurs enregistrements)

  • Plain

  • Full-Text (permet de nombreuses options dans les recherches de texte).

Les termes «clé» et «index» sont identiques dans cet usage.

Les index s'associent à une ou plusieurs colonnes et prennent en charge des recherches rapides et une organisation efficace des enregistrements. Lors de la création d'un index, tenez compte des colonnes fréquemment utilisées dans vos requêtes. Créez ensuite un ou plusieurs index sur eux. En outre, affichez les index comme essentiellement des tables de clés primaires.

Bien que les index accélèrent les recherches ou les instructions SELECT, ils font glisser les insertions et les mises à jour en raison de l'exécution des opérations sur les tables et les index.

Créer un index

Vous pouvez créer un index via une instruction CREATE TABLE ... INDEX ou une instruction CREATE INDEX. La meilleure option prenant en charge la lisibilité, la maintenance et les meilleures pratiques est CREATE INDEX.

Passez en revue la syntaxe générale de l'index donnée ci-dessous -

CREATE [UNIQUE or FULLTEXT or...] INDEX index_name ON table_name column;

Passez en revue un exemple de son utilisation -

CREATE UNIQUE INDEX top_sellers ON products_tbl product;

Supprimer un index

Vous pouvez supprimer un index avec DROP INDEX ou ALTER TABLE ... DROP. La meilleure option prenant en charge la lisibilité, la maintenance et les meilleures pratiques est DROP INDEX.

Passez en revue la syntaxe générale de Drop Index donnée ci-dessous -

DROP INDEX index_name ON table_name;

Passez en revue un exemple de son utilisation -

DROP INDEX top_sellers ON product_tbl;

Renommer un index

Renommez un index avec l'instruction ALTER TABLE. Revoyez sa syntaxe générale donnée ci-dessous -

ALTER TABLE table_name DROP INDEX index_name, ADD INDEX new_index_name;

Passez en revue un exemple de son utilisation -

ALTER TABLE products_tbl DROP INDEX top_sellers, ADD INDEX top_2016sellers;

Gestion des index

Vous devrez examiner et suivre tous les index. Utilisez SHOW INDEX pour répertorier tous les index existants associés à une table donnée. Vous pouvez définir le format du contenu affiché en utilisant une option telle que «\ G», qui spécifie un format vertical.

Examinez l'exemple suivant -

mysql > SHOW INDEX FROM products_tbl\G

Statistiques de table

Les index sont largement utilisés pour optimiser les requêtes en raison de l'accès plus rapide aux enregistrements et aux statistiques fournies. Cependant, de nombreux utilisateurs trouvent la maintenance d'index fastidieuse. MariaDB 10.0 a mis à disposition des tables de statistiques indépendantes du moteur de stockage, qui calculent des statistiques de données pour chaque table de chaque moteur de stockage, et même des statistiques pour les colonnes qui ne sont pas indexées.