Comment créer des indices dans PostgreSQL

Comment créer des indices dans PostgreSQL

Les indices sont des tables de recherche spécialisées utilisées par les moteurs de chasse aux banques de données pour accélérer les résultats de la requête. Un index est une référence aux informations dans un tableau. Par exemple, si les noms d'un livre de contact ne sont pas alphabétisés, vous devrez descendre chaque ligne et rechercher chaque nom avant d'atteindre le numéro de téléphone spécifique que vous recherchez. Un index accélère les commandes de sélection et les phrases, effectuant la saisie de données dans les commandes de mise à jour et d'insertion. Que les indices soient insérés ou supprimés, il n'y a aucun impact sur les informations contenues dans le tableau. Les index peuvent être spéciaux de la même manière que la limitation unique permet d'éviter les enregistrements de répliques dans le domaine ou le jeu de champs pour lesquels l'indice existe.

Syntaxe générale

La syntaxe générale suivante est utilisée pour créer des index.

>> créer index index_name sur table_name (chronn_name);

Pour commencer à travailler sur les index, ouvrez le pgadmin de PostgreSQL de la barre d'application. Vous trouverez l'option «serveurs» affichée ci-dessous. Cliquez avec le bouton droit sur cette option et connectez-la à la base de données.

Comme vous pouvez le voir, la base de données «test» est répertoriée dans l'option «Bases de données». Si vous n'en avez pas, cliquez avec le bouton droit sur les bases de données, «accédez à l'option« Créer »et nommez la base de données en fonction de vos préférences.

Développez l'option «schémas», et vous trouverez l'option «Tables» répertoriée là-bas. Si vous n'en avez pas, cliquez avec le bouton droit dessus, accédez à «Créer» et cliquez sur l'option «Table» pour créer une nouvelle table. Puisque nous avons déjà créé la table 'EMP', vous pouvez le voir dans la liste.

Essayez la requête SELECT dans l'éditeur de requête pour récupérer les enregistrements du tableau «EMP», comme indiqué ci-dessous.

>> sélectionner * parmi le public.EMP Order par «Id» ASC;

Les données suivantes seront dans le tableau «EMP».

Créer des index mono-colonnes

Développez le tableau «EMP» pour trouver diverses catégories, E.g., Colonnes, contraintes, index, etc. Cliquez avec le bouton droit sur les «index», accédez à l'option «Créer» et cliquez sur «Index» pour créer un nouvel index.

Construisez un index pour la table «EMP» donnée ou l'affichage événementiel, en utilisant la fenêtre de dialogue d'index. Ici, il y a deux onglets: «Général» et «Définition.Dans l'onglet «Général», insérez un titre spécifique pour le nouvel index dans le champ «Nom». Choisissez «l'espace de table» sous lequel le nouvel index sera stocké à l'aide de la liste déroulante à côté de 'Tablespace.«Comme dans le domaine« commentaire », faites des commentaires d'index ici. Pour commencer ce processus, accédez à l'onglet «Définition».

Ici, spécifiez la «méthode d'accès» en sélectionnant le type d'index. Après cela, pour créer votre index comme «unique», il existe plusieurs autres options répertoriées là-bas. Dans la zone des «colonnes», appuyez sur le signe «+» et ajoutez les noms de colonne à utiliser pour l'indexation. Comme vous pouvez le voir, nous appliquons une indexation uniquement à la colonne «téléphone». Pour commencer, sélectionnez la section SQL.

L'onglet SQL affiche la commande SQL qui a été créée par vos entrées tout au long du dialogue d'index. Cliquez sur le bouton «Enregistrer» pour créer l'index.

Encore une fois, accédez à l'option «Tables» et accédez à la table «EMP». Actualisez l'option «Index», et vous trouverez l'index «index_on_phone» nouvellement créé dans.

Maintenant, nous allons exécuter la commande Explication Select pour vérifier les résultats des index avec la clause WHERE. Cela se traduira par la sortie suivante, qui dit: «SCA.'Vous vous demandez peut-être pourquoi cela s'est produit pendant que vous utilisez des index.

Raison: le planificateur de Postgres peut décider de ne pas avoir d'index pour diverses raisons. Le stratège prend les meilleures décisions la plupart du temps, même si les raisons ne sont pas toujours claires. C'est bien si une recherche d'index est utilisée dans certaines requêtes, mais pas dans tout. Les entrées renvoyées de l'un ou l'autre tableau peuvent varier, en fonction des valeurs fixes renvoyées par la requête. Parce que cela se produit, une analyse de séquence est presque toujours plus rapide qu'une analyse d'index, indiquant que le planificateur de requête a peut-être raison de déterminer que le coût d'exécution de la requête de cette façon est réduit.

Créer plusieurs index de colonnes

Pour créer des index de plusieurs colonnes, ouvrez le shell de ligne de commande et considérez le tableau suivant «étudiant» pour commencer à travailler sur des index avec plusieurs colonnes.

>> Sélectionner * chez Student;

Écrivez la requête d'index de création suivante suivante. Cette requête créera un index nommé «new_index» dans les colonnes «Sname» et «Age» du tableau «étudiant».

>> Créer Index New_index sur Student (Sname, Age);

Maintenant, nous allons répertorier les propriétés et les attributs de l'index «new_index» nouvellement créé à l'aide de la commande '\ d'. Comme vous pouvez le voir sur l'image, il s'agit d'un index de type Btree qui a été appliqué aux colonnes «Sname» et «Age».

>> \ d new_index;

Créer un index unique

Pour construire un index unique, supposons le tableau «EMP» suivant.

>> SELECT * FROM EMP;

Exécutez la requête d'index Unique Créer dans le shell, suivie du nom d'index «Empind» dans la colonne «Nom» du tableau «EMP». Dans la sortie, vous pouvez voir que l'index unique ne peut pas être appliqué à une colonne avec des valeurs de «nom» en double.

>> Créer un index unique Empind sur emp (nom);

Assurez-vous d'appliquer l'index unique uniquement aux colonnes qui ne contiennent pas de doublons. Pour le tableau «EMP», vous pouvez supposer que seule la colonne «ID» contient des valeurs uniques. Donc, nous y appliquerons un index unique.

>> créer un index unique Empind sur emp (id);

Voici les attributs de l'index unique.

>> \ d empid;

Index de chute

L'instruction DROP est utilisée pour supprimer un index d'un tableau.

>> Drop Index empind;

Conclusion

Bien que les index soient conçus pour améliorer l'efficacité des bases de données, dans certains cas, il n'est pas possible d'utiliser un index. Lorsque vous utilisez un index, les règles suivantes doivent être prises en compte:

  • Les index ne doivent pas être retirés pour les petites tables.
  • Tables avec de nombreuses opérations de mise à niveau / mise à jour par lots à grande échelle ou d'addition / insertion.
  • Pour les colonnes avec un pourcentage substantiel de valeurs nuls, les indices ne peuvent pas être des mordus-
  • vente.
  • L'indexation doit être évitée avec des colonnes manipulées régulièrement.