2010-11-29 5 views
0

il y a une table qui a 80.000 lignes. Chaque jour, je vais cloner ce tableau à une autre table de journal donnant un nom comme 20101129_TABLE , et chaque jour le préfixe sera modifié en fonction de la date ..archivage de la table: recherche de la meilleure façon

Comme vous le calculer, les données seront 2400 000 lignes par mois ..

Des conseils s'il vous plaît pour économiser de l'espace, et obtenir un service rapide et d'autres avantages et inconvénients !! comment dois-je penser à créer la meilleure archive ou journal ..

c'est une table a l'information de comptes. équilibre code branche etc

Répondre

1

Il est assez difficile de répondre à votre question puisque vous êtes un peu vague sur certains faits importants:

  • Combien de fois avez-vous besoin les tableaux archivés?
  • Comment êtes-vous libre dans vos choix de design?

Si vous n'avez pas souvent besoin des données archivées et que vous êtes libre dans votre choix, je copierais les données dans une base de données d'archives. Cela vous donnera la possibilité de stocker la base de données sur un disque séparé (coût-efficacité) et vous pouvez également avoir une planification de sauvegarde séparée sur cette base de données.

Vous pouvez également stocker toutes les données dans une table avec juste une colonne supplémentaire comme ArchiveDate datetime. Mais je pense que cela dépend vraiment de la façon dont vous prévoyez d'accéder aux données plus tard.

+0

+1 pour la suggestion d'ajouter une colonne de date. – Randy

+0

Non, c'est une suggestion terrible! Après quelques mois, la base de données serait inutilisable, creusant à travers des millions d'archives juste pour obtenir le mauvais design (trop de niveaux d'arbre d'index) –

+0

(Impossible d'éditer les commentaires? Bizarre.) Sans performance de partitionnement de table serait inacceptable. –

0

Considérer TABLE PARTITIONNEMENT (MSDN) - il est conçu pour exactement ce genre de scénarios. Non seulement vous pouvez répartir les données entre les partitions (et mapper les partitions sur différents disques), mais vous pouvez conserver toutes les données dans la même table et laisser MSSQL effectuer tout le travail en arrière-plan (quelle partition utiliser selon certains critères, etc.) .

Questions connexes