Quelle est la meilleure façon de stocker l'historique des données dans SQL Server 2005/2008?

Mon simplifié et artificiel exemple est le suivant:-

Permet de dire que je veux mesurer et stocker la température (et d'autres valeurs) de tous les mondes " villes sur une base quotidienne. Je suis à la recherche d'une meilleure façon de stocker les données de sorte qu'il est tout aussi facile d'obtenir la température actuelle dans toutes les villes, comme il est d'obtenir tous les température historiquement dans une ville.

Il est assez facile de problème à résoudre, mais je suis à la recherche de la meilleure solution.

Les 2 principales options que je peux penser sont comme suit:-

Option 1 - de la Même table stocke les dossiers actuels et antérieurs

Stocker toutes les actuels et les documents d'archives dans la même table.

c'est à dire

CREATE TABLE [dbo].[WeatherMeasurement](
  MeasurementID [int] Identity(1,1) NOT Null,
  TownID [int] Not Null,
  Temp [int] NOT Null,
  Date [datetime] NOT Null,
)

Cela permettrait de garder tout simple, mais ce qui serait le plus efficace de requête pour obtenir une liste des villes et il y en température actuelle? Serait-ce à l'échelle une fois que la table a des millions de lignes? Il n'y a rien à gagner en ayant une sorte de IsCurrent drapeau dans le tableau?

Option 2 - Stocker toutes les archive des enregistrements dans une table séparée

Il y aurait une table pour stocker le courant en direct des mesures dans

CREATE TABLE [dbo].[WeatherMeasurement](
  MeasurementID [int] Identity(1,1) NOT Null,
  TownID [int] Not Null,
  Temp [int] NOT Null,
  Date [datetime] NOT Null,
)

Et une table pour stocker l'historique archivé date (inséré par un déclencheur peut-être)

CREATE TABLE [dbo].[WeatherMeasurementHistory](
  MeasurementID [int] Identity(1,1) NOT Null,
  TownID [int] Not Null,
  Temp [int] NOT Null,
  Date [datetime] NOT Null,
)

Cela a l'avantage de garder le principal courant de données maigre, et très efficace pour la requête, à la charge de rendre le schéma plus complexe et de l'insertion des données plus cher.

Qui est la meilleure option? Sont t-il de meilleures options que je n'ai pas mentionné?

NOTE: j'ai simplifié le schéma pour l'aider à se concentrer ma question mieux, mais à supposer qu'il y aura beaucoup de données insérées chaque jour (de 100 000 s de dossiers), et les données sont en cours pour une journée. Les données actuelles sont tout aussi susceptibles d'être interrogé comme l'historique.

  • prenez vos deux options et de faire d'eux des réponses afin que nous puissions voter