bonjour a tous
Dans Cette rubrique on va voir comment créer un index filtré et voir l’importance de ce type d’indexe sur la performance du votre requétes
commençons par faire une petit définition de ce type d’indexes
Un index filtré est bien conçu pour améliorer les performances des requêtes et la qualité du plan d’exécution car il est plus petit qu’un index non cluster de table entière et contient des statistiques filtrée
prenons cette petit requête qui serai exécuter sur la base AdventureWorks2014
/****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP 1000 [BusinessEntityID]
,[PersonType]
,[NameStyle]
,[Title]
,[FirstName]
,[MiddleName]
,[LastName]
,[Suffix]
,[EmailPromotion]
,[AdditionalContactInfo]
,[Demographics]
,[rowguid]
,[ModifiedDate]
FROM [AdventureWorks2014].[Person].[Person]
where LastName=’Margheim’
je veux procéder a crée un index filtré afin de faire un suivi de l’opération where LastName=’Margheim’
faisons une petit comparaison du plan d’exécution du requête avants et après la création du l’indexe
une petit calcul du nbre de page lue montre bien une diminution du nbre de page de 5 vers 2 Les indexes filtrés peuvent présenter les avantages suivants:
- Meilleures performances des requêtes et qualité de plan améliorée
- Coûts réduits de maintenance des index
- Coûts réduits de maintenance des index
bonne optimisation avec les indexes filtrée