Bonjour,
je travaille actuellement sur un table d'historique, amenée à terme contenir plus centaines de milliers d'enregistrements. Je cherche à améliorer mon temps de consultation selon divers critères.
Ma table se définit de la manière suivante :
- Code : uniqueidentifier (PK)
- CodeEvt : uniqueidentifier
- Designation : varchar
- CodeFamille : uniqueidentifier
- CodeDomaine : uniqueidentifier
- Type : int
- Libelle : varchar
- Commentaire : varchar (NULLABLE)
- Batiment : varchar
- Date : datetime
- ... Divers autres champs secondaires pour la recherche
Je suis amené à faire une recherche incluant automatiquement sur les champs Date, Batiment (en général de la forme LIKE 'bat01%'), CodeFamille, CodeDomaine, Type. Les champs Libelle et commentaire peuvent être inclus, mais ce n'est pas la majorité des cas.
Vu le volume de données, une recherche efficace implique la mise en place d'index. Mais comment dois-je le définir sous SQL Server ? Quels éléments doivent constituer mon index ? Dois-je en faire un seul ou plusieurs index ? Quel type lui donner (CLUSTERED ? autre ?) ?
Merci pour votre aide![]()
Partager