J'utilise SQL Server 2005. J'ai une simple table de journalisation que mon application Web utilise pour suivre les activités des utilisateurs et les URL visitées. La conception de la table est très simpleBesoin de conseils sur la sélection d'un index clusterisé pour une table de journalisation
ID (valeur d'identité),
LogDate (datetime),
Activité (nvarchar (200)),
Url (nvarchar (1000))
Nous faisons principalement des insertions dans cette table. De temps en temps, nous effectuons des requêtes sur cette table si nous voulons examiner les activités d'un utilisateur particulier sur une période donnée. La table possède actuellement une colonne d'identité en tant que clé primaire. C'est aussi son index clusterisé.
Je me demande s'il est préférable pour moi de changer son index clusterisé dans la colonne LogDate. La colonne LogDate stocke la date/heure de l'activité et peut avoir des doublons, mais étant donné que nous insérons toujours dans la table, les nouveaux enregistrements doivent toujours se trouver à la fin de la table. SQL Server n'a donc aucune raison regorganise ou effectue des découpages de page qui affecteraient les performances d'insertion. Avoir la colonne LogDate en tant qu'index en cluster devrait également aider à rechercher des performances.
S'il vous plaît laissez-moi savoir si mon raisonnement est correct. Je vous remercie!
Le DTA fait un travail raisonnable, mais il suggère occasionnellement les «mauvais» index. –