Junior
Comment créer un index dans la base de données?
sobes.tech IA
Réponse de l'IA
La création d'un index dépend du système de gestion de base de données (SGBD) spécifique.
La syntaxe SQL générale pour créer un index est la suivante :
CREATE INDEX nom_de_l_index
ON nom_de_la_table (colonne1, colonne2, ...);
CREATE INDEX: Mots-clés pour créer un index.nom_de_l_index: Le nom que vous donnez à l'index. Il doit être unique dans la table.nom_de_la_table: Le nom de la table sur laquelle vous créez l'index.colonne1, colonne2, ...: Liste des colonnes incluses dans l'index. L'ordre des colonnes est important pour les index composés.
Exemples pour des SGBD populaires :
| SGBD | Exemple |
|---|---|
| PostgreSQL | CREATE INDEX users_email_idx ON users (email); |
| MySQL | CREATE INDEX products_price_category_idx ON products (price, category_id); |
| SQLite | CREATE INDEX orders_date_idx ON orders (order_date); |
| SQL Server | CREATE INDEX payments_user_idx ON payments (user_id); |
Il est possible de créer différents types d'index, par exemple :
- Index cluster : Définissent l'ordre physique de stockage des lignes dans la table (généralement un par table).
- Index non cluster : Structure de données séparée stockant des références aux lignes de la table.
- Index uniques : Garantissent l'unicité des valeurs dans les colonnes indexées.
Exemple de création d'un index unique :
CREATE UNIQUE INDEX users_username_unique_idx
ON users (username);
Indices composés sur plusieurs colonnes :
CREATE INDEX orders_user_product_idx
ON orders (user_id, product_id);
Il est important de choisir les colonnes à indexer en fonction des conditions les plus fréquentes dans les clauses WHERE, opérations JOIN et clauses ORDER BY. La création d'un trop grand nombre d'indices ou d'indices sur des colonnes inappropriées peut réduire la performance des opérations d'insertion, de mise à jour et de suppression.