Bienvenue à nouveau dans SQL avancé. Dans cette leçon, nous discuterons des index. Nous commencerons par examiner le but d'un index. Ensuite, nous examinerons deux principaux types d'architectures. Et enfin, nous verrons comment les index entrent en jeu dans notre requête de recherche. Pensons maintenant à notre exemple de livre de cuisine. Si nous devions le rechercher page par page nous appellerions cela la recherche séquentielle. Vous pouvez voir à quel point ce serait inefficace. C'est là que les index entrent en jeu, mais les index sont plus que les automatisés appliqués à votre clé primaire. Il existe une variété d'index utilisé avec différents types d'architecture et les méthodes d'indexation. Il existe deux principaux types d'architecture à connaître. En cluster et non en cluster. Considérez l'index au dos de votre livre de cuisine, il s'agit d'ingrédients regroupés par ordre alphabétique. Le livre de cuisine lui-même est probablement regroupé autour des types de repas comme les salades, les plats principaux, les desserts. Dans le cas d'une base de données, un index cluster est un index qui ordonne physiquement les données sur le disque d'une certaine manière. Chaque fois que de nouvelles données sont ajoutées, elles sont enregistrées dans le même ordre. C'est quelque chose à retenir avec l'index cluster est qu'un seul peut être appliqué à une table de base de données. Vous voyez, ils appliquent un ordre de données. Avec cela signifie que le bon moment est augmenté car chaque fois que de nouvelles données sont ajoutées tout doit être réorganisé. L'index clusterisé augmente cependant considérablement la vitesse de lecture de la table. Si nous disons qu'il existe deux types et que l'un est groupé, alors l'autre doit être non groupé. Ces types d'index sont ceux que nous utilisons le plus couramment mais tout le monde ne sait pas comment ils sont mis en œuvre. Les index non groupés conservent une liste de classement distincte qui a des pointeurs vers les lignes physiques. C'est fondamentalement comme la table des matières d'un livre. Il sait sur quelle page un certain chapitre commence et se termine. Une table peut avoir de nombreux index non clusterisés mais chacun ajoute du temps au temps qu'il faut pour écrire les données. Maintenant que nous comprenons la structure de l'index regardons comment cela fonctionne dans PostgreSQL. Nous pouvons manipuler les index dans PostgreSQL via un ensemble de commandes. PostgreSQL crée un plan de requête pour chaque requête qu'il reçoit. Vous devez toujours sélectionner le plan qui adhère le mieux à la structure de la requête et aux propriétés des données. Nous pouvons produire un plan de requête à l'aide d'une simple commande, expliquez. Cela nous montrera toutes les informations pertinentes. Jetons un coup d'œil au plan de requête qui retourne tous les titres de notre collection. Entre parenthèses, nous remarquons quelques valeurs. Le coût d'une requête est une plage d'unités arbitraires. À partir de l'attente avant que la phase de sortie puisse commencer au coût total estimé de cette requête.