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