知识点:
1、视图是什么? 虚拟表,由一个或多个表通过查询而定义的,将查询定义保存起来,实际不存储数据
2、视图与表的区别? 表是存储数据的地方,而视图存储的是查询语句(索引视图除外,具体化了)
3、视图的作用? 视图的作用是简化查询,增加数据的保密性,使得真实数据更加安全
4、视图的缺点? 视图只简化了查询,并没有提高查询速度,增加了维护成本
5、视图的分类
- 标准视图:存储查询定义,没有存储数据
- 索引视图:被具体化了的,创建了索引,物理存储,显著提高了查询性能,适合于数据量很多的情况,不适合经常变更基础表,索引视图变动,基本表中的数据也会改变
- 分区视图:一台或多台服务器间水平连接一组成员表的分区数据
--创建标准视图,可以出现*,但是显示的列不能有重复的create view vUserinfosasselect UserId,UserName,u.DeptId,DeptNamefrom Userinfos uinner join DeptInfos don d.DeptId = u.DeptIdgo--使用视图和使用表一样select * from vUserinfos--创建索引视图,不允许出现*,写列名,表前需要写所有者create view vUserInfo_index with schemabindingasselect UserId,UserName,Age from dbo.go--使用select * from vUserInfo_index--索引视图创建唯一聚集索引create unique clustered index uq_vUserinfos_indexon vUserInfos_index(UserId)go--分区视图:连接两个结构相同的表create view vTestasselect * from Test1union allselect * from Test2go
