【发布时间】:2014-06-11 18:43:43
【问题描述】:
我仍在尝试准确了解视图的工作原理以及何时最好使用视图与直接查询表。这是我的场景:
- 所有基础数据都位于一个存储三个月数据的表中
- 该表包括四列:“TagName”、“Alarm”、“Timestamp”和“Value”; 'TagName' 和 'Timestamp' 已编入索引
- 此表的视图(不涉及其他表)显示一周的数据并将“警报”和“值”合并到一个列中。
- 此方案中使用的数据库是 SQL Server。
我只需要检索 5 - 30 分钟的数据。针对将“警报”和“值”组合到单个列(如视图)并动态设置时间范围的基础表编写查询,或者通过传入时间范围来查询现有视图是否更有效?对我来说,前者似乎是可行的方法,因为后者本质上需要两个查询。此外,在第二种情况下,第一个查询(即视图)会将不必要数量的值加载到内存中。
【问题讨论】:
-
您使用的是哪个 DBMS? MySQL 在使用视图优化查询方面是出了名的糟糕。但只有解释才能说明
标签: sql database performance view database-table