视图的学习

视图

虚拟表 由一个或多个表通过查询而定义的,将查询定义保存起来,实际不包括数据。

与表的区别:表存储数据的地方,视图存储的是查询语句(索引视图除外,它被具体化了,一旦修改数据,本表的数据也改变)

作用:简化查询,增加数据的保密性,在安全性上的到保证。

缺点:只是简化查询,并不提高查询速度,增加了维护成本。

分类:标准视图:存储查询定义,没有存储数据。

索引视图(被具体化了的视图,创建了索引,显著提高查询性能,聚合了很多行的查询,不太适合经常更新基本数据集)

分类视图:一台或多台服务器间水平连接一组成员表的分区数据。

创建视图脚本

标准视图

create view 视图名
  as
 T-SQL语句

列:

--标准视图
  create view Vuserbinfos
  as
  select  u.*,b.Bname from UserInfo u inner  join  BInfo b on u.Bid=b.Bid
  go

--使用 与使用表一样

select * from  Vuserbinfos


 

索引视图

create view  视图名  with schemabinding
as
select  UID,UserName,Userage,Usersex from  dbo.UserInfo
列:

--索引视图 (被具体化了的视图) 适合于聚合多行数据的情况下
--数据是实际存在,删除视图里的数据,基础表里的数据也被删除。
--索引视图里不要去删除修改数据

create view  Vuesrinfos_indx   with schemabinding
as
select  UID,UserName,Userage,Usersex from  dbo.UserInfo
go

select * from Vuesrinfos_indx

--索引视图创建唯一聚集索引
create Unique  clustered index uq_Vuesrinfos_indx on Vuesrinfos_indx(UID)
go

分区视图

create  view  视图名
AS
select  * from TEST_1 
UNION ALL 
select  * from TEST_2

列:

--分区视图 (表结构相同的不同区的表)
create  view  VtestInfos
AS
select  * from TEST_1 
UNION ALL 
select  * from TEST_2
GO

select  * from VtestInfos

标准视图和分区视图 都不允许删除和修改里面的数据,会影响基础表。

索引视图,删除了,基础表数据也被删除  慎用

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值