为什么建议从特定表的视图中选择数据,而不是直接从表中选择。
例如。我有
select * from table1 --Not recommended
create view test (
select * from table1
)
select * from view - Recommended.
是因为锁定问题还是其他(使用 mssql 2008 R2)
为什么建议从特定表的视图中选择数据,而不是直接从表中选择。
例如。我有
select * from table1 --Not recommended
create view test (
select * from table1
)
select * from view - Recommended.
是因为锁定问题还是其他(使用 mssql 2008 R2)
意见一般建议
我从来没有见过这个推荐 - 一个来源会很好!
正如 Vikdor 所说,有理由使用视图 - 安全性,并抽象出围绕底层数据的逻辑;它们对性能没有影响。
实际上,您的示例将被视为反模式,因为视图不会自动识别基础表的更改;每次更改“table1”时,都必须重新创建视图。
我还看到了一些情况,其中查询优化器通过访问视图而有些困惑,并且生成的查询比查询基表要慢。这是高度特定于平台和版本的,但是对于复杂的查询,这可能是一个问题。
物化视图可能具有性能优势,尤其是在视图存储复杂计算时。