Comment puis-je indexer une colonne dans PostgreSQL?

Comment puis-je indexer une colonne dans PostgreSQL?
Une base de données PostgreSQL en particulier ou toute autre base de données, en général, peut contenir plusieurs tables. Ces tableaux sont constitués de différentes colonnes ou attributs par rapport auxquels différentes lignes ou enregistrements sont stockés. De cette façon, les données sont enregistrées dans une base de données. En indexant une colonne dans PostgreSQL, nous voulons essentiellement créer une structure de données à travers laquelle nous pouvons référencer les valeurs de cette colonne beaucoup plus efficacement au lieu de passer par toutes les valeurs de cette colonne manuellement. Dans cet article, nous discuterons d'abord de la nécessité d'indexer une colonne dans PostgreSQL dans Windows 10 suivie de la méthode de le faire.

Besoin d'indexation d'une colonne dans PostgreSQL dans Windows 10:

Nous avons déjà mentionné que l'indexation d'une colonne rend le processus de recherche de cette colonne d'autant plus rapide et efficace. Cependant, à part cela, nous considérerons un exemple très simple ici qui justifiera la nécessité d'indexer une colonne dans un tableau de PostgreSQL.

Supposons que nous ayons une table intitulée «Employé». Ce tableau a deux colonnes différentes, à savoir «nom» et «numéro» qui correspondent respectivement au nom et au numéro de l'employé. De plus, ce tableau contient 1000 enregistrements de différents employés. Maintenant, nous voulons exécuter une requête qui renverra un record avec un numéro d'un employé spécifique.

Dans ce cas, notre requête devra rechercher toute la colonne «numéro» du tableau «Employé» jusqu'à ce qu'il trouve le numéro spécifié dans la requête exécutée. Ce n'est qu'alors, il pourra afficher l'enregistrement souhaité. Ce processus est assez long et prend du temps.

Par conséquent, nous pouvons essayer d'indexer la colonne «nombre» afin qu'au lieu de rechercher séquentiellement la colonne entière, le nombre spécifié dans la requête peut être recherché très efficacement. Cependant, ce type d'indexation des colonnes ne convient pas aux très petites tables I.e., Tables avec quelques enregistrements car il n'augmentera que la consommation de ressources.

Méthode d'indexation d'une colonne dans PostgreSQL dans Windows 10:

Si vous souhaitez indexer une colonne souhaitée d'une table dans votre base de données PostgreSQL dans Windows 10, vous devrez effectuer la procédure étapes discutée ci-dessous:

Étape n ° 1: lancement de l'invite de commande Windows 10:

Nous accéderons à l'environnement PostgreSQL via l'invite de commande Windows 10 pour laquelle nous devons le lancer d'abord. Vous pouvez voir l'image suivante pour savoir comment lancer l'invite de commande Windows 10.

Étape # 2: Entrer dans l'environnement PostgreSQL via l'invite de commande Windows 10:

Après avoir ouvert l'invite de commande, vous pouvez saisir l'environnement PostgreSQL en exécutant la commande illustrée ci-dessous:

> PSQL -U Postgres

Après avoir exécuté cette commande, il vous sera demandé de saisir le mot de passe de l'utilisateur spécifié comme indiqué dans l'image suivante:

Une fois que vous fournissez ce mot de passe, vous entrerez dans l'environnement PostgreSQL via votre invite de commande Windows 10.

Étape # 3: Créez une nouvelle table dans PostgreSQL dans Windows 10:

Maintenant, nous allons créer une nouvelle table afin que nous puissions indexer l'une de ses colonnes dans Windows 10. Un tableau de PostgreSQL peut être créé avec la requête ci-dessous:

# Créer un employé de table (EMP_ID Serial Primary Key, EMP_NAME VARCHAR (255) pas null, emp_number varchar (255) pas null);

Cette requête créera un tableau nommé «Employé» dans la base de données PostgreSQL actuelle avec trois colonnes à savoir «EMP_ID, EMP_NAME et EMP_NUMBER».

Une exécution réussie de cette requête sera confirmée une fois que nous aurons la réponse «Créer un tableau» sur notre console comme indiqué dans l'image suivante:

Étape n ° 4: Vérification si le tableau nouvellement créé existe dans votre base de données actuelle ou non:

Lorsque notre nouvelle table a été créée, nous pouvons vérifier son existence en exécutant la commande illustrée ci-dessous:

# \ dt

Cette commande tentera d'afficher toutes les tables qui existent dans la base de données actuelle. Dans la liste de ces tables, vous pourrez également voir notre table «Employee» nouvellement créée comme indiqué dans l'image suivante:

Étape # 5: Insertion de certains enregistrements dans le tableau nouvellement créé:

Maintenant, nous allons insérer quelques échantillons d'enregistrements dans ce tableau nouvellement créé. Un enregistrement dans ce tableau peut être ajouté à l'aide de la requête ci-dessous:

# insérer dans les valeurs des employés (1, «aqsa», «12345»);

Lorsque ce dossier sera ajouté avec succès au tableau «Employé», vous verrez le message de réussite suivant sur votre console:

De la même manière, nous ajouterons plusieurs enregistrements à la table «Employee» comme indiqué dans l'image ci-dessous:

Étape # 6: Affichage de la table nouvellement peuplée:

Après avoir rempli notre table «Employee», nous pouvons le voir en exécutant la requête annexée suivante:

# select * chez l'employé;

Cette requête affichera tous les enregistrements du tableau «Employé» sur la console comme indiqué dans l'image ci-dessous:

Étape # 7: Exécution d'une requête de test sur le tableau nouvellement créé:

Maintenant, nous allons exécuter une requête de test sur la table nouvellement créée pour afficher un enregistrement avec un certain numéro. Cette requête est la suivante:

# select * à partir de l'employé où emp_number = '24943';

Cette requête affichera instantanément l'enregistrement sélectionné comme indiqué dans l'image ci-dessous:

Étape # 8: Affichez le plan de requête pour la requête que vous venez d'exécuter:

Bien que la requête mentionnée ci-dessus ait été exécutée avec succès, cependant, pour avoir apporté le résultat souhaité à la console, toute la colonne «EMP_NUMBER» du tableau «Employé» aurait été fouillée séquentiellement. Vous pouvez vérifier cela en exécutant la requête suivante pour afficher le plan de requête:

# Expliquez la sélection * de l'employé où emp_number = '24943';

Vous pouvez voir sur l'image illustrée ci-dessous que la requête spécifiée a été exécutée en recherchant séquentiellement la colonne «EMP_NUMBER» du tableau «Employé». Les recherches séquentielles ne sont pas bonnes pour les tables avec un grand nombre d'enregistrements. Pour résoudre ce problème, nous tenterons d'indexer la colonne «EMP_NUMBER» en effectuant l'étape suivante.

Étape # 9: Création d'un index pour une colonne de la table créée:

Pour créer un index pour une colonne d'une table dans PostgreSQL dans Windows 10, vous pouvez exécuter la requête suivante:

# Créer index index_emp_number sur employee (emp_number);

Cette requête créera un index nommé «index_emp_number» pour la colonne «EMP_NUMBER» de la table «Employé». Une exécution réussie de cette requête entraînera le message de réussite ci-dessous:

Étape # 10: Listing de tous les index de la table souhaitée:

Maintenant, pour vérifier si ledit index a été créé ou non, vous pouvez exécuter la commande suivante:

# # \ d employé

La sortie affichée dans l'image illustrée ci-dessous a mis en évidence l'index nouvellement créé.

Suppression d'un index d'une colonne de PostgreSQL dans Windows 10:

Si vous souhaitez supprimer un index d'une colonne d'une table dans PostgreSQL dans Windows 10, vous pouvez exécuter la requête suivante:

# Drop index index_emp_number;

Lorsque l'index spécifié sera supprimé avec succès, vous obtiendrez la réponse d'index de dépôt sur la console comme indiqué dans l'image ci-dessous:

Conclusion:

En lisant toutes les étapes de la méthode expliquée dans cet article, vous pourrez comprendre très rapidement comment l'indexation des colonnes fonctionne dans PostgreSQL dans Windows 10. Après avoir appris cela, vous pourrez indexer autant de colonnes de vos tables dans PostgreSQL que vous le souhaitez.