我刚刚创建了一个包含 8 个表的数据库,每个表都有超过 1000000 行(整个夏天每秒收集的数据:S)我计划创建 View ,以便一次可以选择一周。我想知道创建多个仅包含 View 的数据库(夏季的每个星期一个)是否违反任何未成文的数据库规则,或者是否有更好的方法来执行此操作?我想创建这些 View 的原因是它会让数据的客户更轻松。
最佳答案
听起来您想创建包含 View 的数据库。听起来他们会跨数据库读取源数据库的表。这可能会导致性能问题。换句话说,不是最优的。
建议 View 确实应该属于源数据库。如果您的策略是让一个 View 代表一周,那是完全合理的。
CREATE VIEW InvoicesWeek30 AS
SELECT foo, bar, CustomerID
FROM Invoices
WHERE InvoiceDate BETWEEN Date1 AND Date2
...
SELECT * FROM InvoicesWeek30 WHERE CustomerID = 99
关于SQL 数据库 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3771451/