Outils du site

J'ai un copain, l'autre jour il etait bourré, mais bourré... comme quand on conduit ! [Coluche]

60-database:indexes

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
60-database:indexes [2019/03/02 01:38] – créée Roge60-database:indexes [2019/03/02 01:53] (Version actuelle) – [Les contraintes et indexes] Roge
Ligne 6: Ligne 6:
 ===== Rôle des indexes ===== ===== Rôle des indexes =====
  
-Sans index, quand on cherche (ou met  à jour ou supprime) des données dans une table selon différents critères, le SGBD n'a d'autre de solution que de parcourir l'ensemble des enregistrements pour retourner (ou modifier ou supprimer) celles qui correspondent. Ce qui peut être très coûteux sur les gros volumes de données.+Sans index, quand on cherche (ou met à jour ou supprime) des données dans une table selon différents critères, le SGBD n'a d'autre de solution que de parcourir l'ensemble des enregistrements pour retourner (ou modifier ou supprimer) celles qui correspondent. Ce qui peut être très coûteux sur les gros volumes de données.
  
-Si l'on effectue des recherches avec des critères récurrents, la création d'un index qui couvre ces critères peut considérablement améliorer les temps de réponse. Un index réalise un classement des données selon différents critères. Ainsi, on ne crée pas des indexes a priori, on crée des indexes pour optimiser des requêtes particulières. "Le but principal d'un index est de fournir une représentation ordonnée des données indexées. " cf. https://use-the-index-luke.com/fr/sql/anatomie-dun-index/les-noeuds-feuilles+Si l'on effectue des recherches avec des critères récurrents, la création d'un index qui couvre ces critères peut considérablement améliorer les temps de réponse. Un index réalise un classement des données selon différents critères. Ainsi, on ne crée pas des indexes a priori, on crée des indexes pour optimiser des requêtes particulières. "Le but principal d'un index est de fournir une représentation ordonnée des données indexées. " cf. [[https://use-the-index-luke.com/fr/sql/anatomie-dun-index/les-noeuds-feuilles|https://use-the-index-luke.com/fr/sql/anatomie-dun-index/les-noeuds-feuilles]]
  
 Chaque index est mis à jour chaque fois que le SGBD ajoute, modifie ou supprime un enregistrement (cela implique un coût). Chaque index est mis à jour chaque fois que le SGBD ajoute, modifie ou supprime un enregistrement (cela implique un coût).
Ligne 16: Ligne 16:
 Une table "Users" avec les colonnes : Une table "Users" avec les colonnes :
  
-ID +  * ID 
-Nom +  Nom 
-Prénom +  Prénom 
-Date de naissance +  Date de naissance 
-Mail +  Mail 
-Adresse+  Adresse 
 Si les recherches (ou mise à jour ou suppressions) se font par nom et prénom, il sera avantageux de créer un index "X_users_nom-prenom" sur les noms et prénom. Si les recherches (ou mise à jour ou suppressions) se font par nom et prénom, il sera avantageux de créer un index "X_users_nom-prenom" sur les noms et prénom.
  
 Si l'on a aussi des recherches par prénom, nom, alors il sera aussi avantageux de créer un index "X_users_prénom-nom" sur les prénoms et nom. Si l'on a aussi des recherches par prénom, nom, alors il sera aussi avantageux de créer un index "X_users_prénom-nom" sur les prénoms et nom.
  
-Une excellent page d'introduction à l'indexation sur developpez.com.+https://sqlpro.developpez.com/cours/quoi-indexer/ 
  
 ===== Les contraintes et indexes ===== ===== Les contraintes et indexes =====
  
  
-Contrainte Index +^    Contrainte      Index   ^ 
-Check  +|Check Permet de spécifier une règle que doit satisfaire la valeur de l'attribut. Exemple : price numeric CHECK (price > 0) 
-Permet de spécifier une règle que doit satisfaire la valeur de l'attribut. +|Primary key | **Le SGBD crée automatiquement un index associé** | 
-Exemple : price numeric CHECK (price > 0)+|Foreign key | Le SGBD **ne crée pas** automatiquement un index associé. Il est souvent utile de créer un index qui contienne - entre autres attributs - la clé étrangère | 
 +|Not-null | Beaucoup d'attributs peuvent être not null. | 
 +|Unique | **Le SGBD crée automatiquement un index associé** | 
  
-Primary key Le SGBD crée automatiquement un index associé +===== Technique =====
-Foreign key  +
-Le SGBD ne crée pas automatiquement un index associé.+
  
-Il est souvent utile de créer un index qui contienne - entre autres attributs - la clé étrangère 
  
-Not-null Beaucoup d'attributs peuvent être not null. 
-Unique Le SGBD crée automatiquement un index associé 
-Technique 
-Modifier 
 TODO TODO
  
Dernière modification : 2019/03/02 01:38