【发布时间】:2009-01-09 14:14:54
【问题描述】:
假设我有两个这样的表:
雇主(id、name、....、deptId)。 部门(id,部门名称,...)。但是这些数据不会经常修改,我想要这样的查询
SELECT name, deptName FROM Employers, Depts
WHERE deptId = Depts.id AND Employers.id="ID"
尽可能快。
我想到了两种可能的解决方案:
-
对表格进行非规范化:
尽管使用此解决方案,我将失去“标准化数据库”的一些巨大优势,但这里的性能是必须的。
-
为该非规范化数据创建一个视图。
我将保持数据规范化并且(这是我的问题),在该视图上的查询性能将比没有该视图时更快。
或者问同样问题的另一种方式,每次对视图进行查询时都会“解释”视图,或者视图在 DBA 中是如何工作的?
【问题讨论】:
标签: sql mysql performance views