[SQLServer 2K5] Partionnement d'une table
Bonjour à tous
J'ai une table volumineuse (environ 20Millions de lignes), que j'ai positionné dans un fichier .ndf, dans un filegroup distinct, sur un disque rapide.
Cependant, du fait des nombreux accès à cette table, je souhaiterais encore améliorer les performances. Mes indexs fonctionnent bien, et les temps d'accès sont corrects, cependant, en parcourant divers sites ainsi que la msdn, je suis tombé sur divers articles concernant le partionnement de tables, chose que je souhaiterais mettre en place, vu que ce système est recommandé pour les tables volumineuses et dont les accès sont nombreux.
Cependant, j'ai assez de mal à comprendre le fonctionnement du système.
Soit ma table T_Essai, contenant les colonnes suivantes :
IdEssai int PK
Resultat int
Horodatage datetime
Les utilisateurs veulent très souvent consulter les derniers résultats (ceux du mois en cours), et plus rarement ceux des mois précédents. en gros, 70% des demandes sur le mois en cours, 30% pour les mois antérieurs.
Si j'ai bien compris, il est possible de partitionner la table de telle sorte qu'on ait les résultats courants dans une partition, et les résultats anciens dans une autre.
Ma question : Quid de l'ajout? Si j'avance dans le temps, mes données vieillissent, mais elles ne seront pas déplacées dans l'autre partition. Donc je n'y gagne rien? A moins de créer une partition automatiquement à chaque changement de mois ? Auquel cas, comment implémenter ce fonctionnement?
Merci de vos éclaircissements, j'ai vraiment du mal à avec ce concept