|
Vous exploitez une Base de Données contenant de grandes quantités de données ? Vous effectuez régulièrement des transactions ? La rapidité n’est plus au rendez-vous ? L’index est fait pour vous ! L’architecture des index ordonnés en clusters et non ordonnés en clusters n’est pas la même. En comprenant cette différence d’architecture, vous serez à même de créer le type d’index le mieux adapté à votre cas. Un index ordonné en clusters trie physiquement les lignes d’une table. Un index non ordonné en clusters s’appuie sur les informations d’emplacement de stockage contenues dans les pages d’index pour naviguer vers les pages de données ; on parle ici de tri logique. Création d’index ordonnés en clusters Créez un index ordonné en clusters sur les colonnes d’une table qui font souvent l’objet d’une recherche de plages de valeurs de clé ou auxquelles les utilisateurs souhaitent accéder dans l’ordre de tri. Lorsque vous créez un index ordonné en clusters, tenez compte des points suivants : - Une table ne peut avoir qu’un seul index ordonné en clusters car ses lignes ne peuvent être stockées que dans un seul ordre physique.
- L’ordre physique des lignes de la table et l’ordre des lignes de l’index sont identiques. Il est vivement conseillé de créer un index ordonné en clusters avant de créer tout autre index non ordonné en clusters car l’index ordonné en clusters entraîne une modification de l’ordre physique des lignes de la table. Celles-ci sont en effet triées dans l’ordre croissant et maintenues dans cet ordre.
- Les valeurs de clé d’un index ordonné en clusters doivent être uniques. L’unicité est assurée de façon explicite si l’index ordonné en clusters est créé avec le mot-clé UNIQUE car, dans ce cas, les doublons ne sont pas autorisés. Si l’index n’est pas créé avec le mot-clé UNIQUE, SQL Server assure l’unicité des valeurs de clé de façon implicite en ajoutant un identificateur interne unique aux lignes possédant des valeurs de clé en double.
- Au cours de la création de l’index, SQL Server requiert de façon temporaire un espace supplémentaire dans la base de données pour copier et trier la table. Cet espace temporaire nécessaire à la création de l’index est égal à environ 1,2 fois la taille de la table. Une fois l’index créé, cet espace redevient disponible.
Création d’un Index Clustered sur une Clé primaire : ALTER TABLE [dbo].[DIM_ECHEANCE] ADD CONSTRAINT [echeance_idx] PRIMARY KEY CLUSTERED ( [PK_DIMECHEANCE] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] Création d’un Index NONClustered sur une colonne quelconque : CREATE NONCLUSTERED INDEX [domain_idx] ON [dbo].[DIM_DOCENTETE] ( [DOMAINE] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] Supression d’un Index : DROP INDEX [index_name]
Postez vos commentaires ici
Proposer un tips
|
Notre avis :

Votre avis :

Réactions : 0
Votants : 1
Visites : 9001
|