SQLSERVER 视图

  视图可以被看成是虚拟表或存储查询,可以被当成表直接引用,除非是索引视图,否则视图的数据不会存储在数据库中。当访问视图时,查询处理器会根据视图定义生成访问基表的执行计划。

  视图通常用来集中、简化和自定义每个用户对数据库的不同认识:

  1.视图可用做安全机制,方法是允许用户通过视图访问数据,而不授予用户直接访问基表的权限;

  2.作为向后兼容接口来模拟曾经存在但其架构已经更改的表;

  3.视图可以联结各分区表的数据,实现统一的数据访问接口;

 

注意事项:

1.视图最多1024列,列明必须唯一,视图里的select查询中不能包含COMPUTE字句、COMPUTE BY 子句、OPTION子句、TABLESAMPLE子句或INTO关键字;除非SELECT中包含top或FOR XML 子句,否则不能用order by 子句;

2.不要使用select *

3.可以为视图创建一个唯一的聚集索引,这种视图称为索引视图。索引视图是被具体化的视图,就是说它是经过计算并存储的,而不仅仅是一个查询语句。(如果基础数据很少更新,索引视图有更佳的效果,如果基础数据频繁更新,则维护成功可能超过使用索引视图所带来的性能效益),特殊情况可以在更新基础数据前先删除所有索引视图,然后再重新生成,可以提高更新的性能。

4.创建索引视图时,不能引用其他视图,只能引用基表(基表必须要与创建的视图在同一数据库,所有者也要相同,必须指定SCHEMABINDING,要求ANSI_NULLS 和 QUOTED_INDENTITY为ON,必须先建聚集索引);

5.分区视图,可以指定一个约束来指定可在各个表中添加的数据范围,查询视图时,将自动确定查询所影响的表并仅使用这些表。

6. 当基表结构更新时,应该用SP_REFRESHVIEW来更新视图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值