2010-09-22 4 views
1

Je viens de créer une base de données avec 8 tables contenant chacune plus de 1000000 lignes (données collectées toutes les secondes pendant l'été: S) Je prévois de créer des vues pour pouvoir sélectionner une semaine à la fois. Je me demandais si cela allait à l'encontre des règles de base de données non écrites pour créer plusieurs bases de données qui ne contiennent que des vues (une pour chaque semaine de l'été) ou y a-t-il une meilleure façon de faire? La raison pour laquelle je voudrais créer ces vues est que cela rendrait les choses plus faciles pour le client des données.Vues base de données SQL

Répondre

2

Il semble que vous souhaitiez créer des BASES DE DONNEES contenant des vues. On dirait qu'ils liraient, cross-database, dans les tables de la base de données source. Cela entraînerait probablement un problème de performance plus tard. En d'autres termes, non-optimal.

Suggérer que les vues doivent vraiment appartenir à la base de données source. Si votre stratégie consiste à avoir une vue d'une semaine, c'est tout à fait raisonnable.

CREATE VIEW InvoicesWeek30 AS 
    SELECT foo, bar, CustomerID 
    FROM Invoices 
    WHERE InvoiceDate BETWEEN Date1 AND Date2 

... 
SELECT * FROM InvoicesWeek30 WHERE CustomerID = 99 
Questions connexes