在表上创建视图增强了sql 2000上的查询性能?

时间:2014-01-23 15:51:49

标签: sql sql-server sql-server-2000

当我在sql 2000中查询视图时会发生什么? 它是否查询基础表?在表上查看是否会强制查询执行?

有一张包含1000万条记录的表格(2005年至今的记录)。

用户通常对当前年份数据感兴趣。那么,如果我在表格上创建一个视图,只使用当前年份数据,那么会在查询视图时提高查询性能吗?

我的意思是用户可以查询视图并获得更好的性能,而不是查询条件年份='2013'的表格?

1 个答案:

答案 0 :(得分:3)

正如Damien在他的评论中所说,视图的定义已经扩展,用于构建视图的查询被“内联”到您自己的查询中,因此使用标准视图不太可能获得任何性能提升。 / p>

另一种方法是创建一个索引视图,它是一个标准视图,在其上创建聚簇索引,有效地实现它并使其像一个表一样行动。在SQL Server的非企业版中,您需要在引用索引视图时使用NOEXPAND提示以使优化器考虑索引,但您可以通过这种方式获得性能提升。

索引视图,必须为其设置的某些设置和条件有特殊注意事项,这里有详细说明:

Creating an Indexed View