APSQL

Poser des index

Les index vont permettre d’accéder plus rapidement aux différentes informations. Cependant la mise à jour des index représente un coût non négligeable pour le moteur de base de données. Il convient donc de définir des index sur les colonnes fréquemment impliquées dans des restrictions et des tris.  Dans un premier temps il est préférable de travailler ‘a minima’. Ainsi seuls les colonnes participant à aux contraintes de clés étrangères seront indexés. 

La description des différents index à définir est donnée dans le tableau suivant

Nom de l'indexTableColonne
ix_films_categories Films categorie
ix_films_realisateurs Films realisateur
ix_films_producteurs Films producteur
ix_films_spectateurs Films spectateur
ix_acteurs_artistes Acteurs artiste
ix_acteurs_films Acteurs film
ix_exemplaires_films Magasin.Exemplairesfilm
ix_details_exemplaires Magasin.Details exemplaire
ix_details_fiches Magasin.Details fiche
ix_fiches_clients Magasin.Fiches client

Les index sont toujours associés à la table qui possède la ou les colonnes indexées. Il est donc normal que les index ne soient pas définis sur un schéma.

Le script suivant permet de réaliser la création des différents index :

use Video;
go
CREATE INDEX ix_films_categories
  ON Films(categorie);
CREATE INDEX ix_films_realisateurs
  ON Films(realisateur);  
CREATE INDEX ix_films_producteurs
  ON Films(producteur);
CREATE INDEX ix_films_spectateurs
  ON Films (spectateur);
CREATE INDEX ix_acteurs_artistes
  ON Acteurs(artiste);
CREATE INDEX ix_acteurs_films
  ON Acteurs(film);
CREATE INDEX ix_exemplaires_films
  ON Magasin.Exemplaires(film);
CREATE INDEX ix_details_exemplaires
  ON Magasin.Details(exemplaire);
CREATE INDEX ix_details_fiches
  ON Magasin.Details(fiche);
CREATE INDEX ix_fiches_clients
  ON Magasin.Fiches(client);
			

La mise en place depuis SQL Server Management Studio


Video: Définir des index