SQL-Server学习笔记07-T-SQL索引及视图

一、索引

(此知识可在后面再深入学习,此处仅作记录)

作用:在数据库中的作用类似于书的目录,用来提高查找信息的速度,因为使用索引查找数据,无需对整表进行扫描。

缺点:需要占用存储空间;创建及维护索引需要时间精力;当对表更新时,索引需要被重建。

二、视图

属于虚拟表,将查询定义保存起来的对象,不包含数据,储存的是查询语句(索引视图除外)。

作用:简化查询;增加数据的保密性;安全性得到保证

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

分类:

        标准视图;

        索引视图:被具体化了的,显著提高查询性能,聚合了很多行的查询,不太适合经常更新基本数据集;一修改索引视图里的数据,基本表的数据也会跟着更改。

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

1、标准视图

有点类似把sql查询语句直接存储在数据库,而不是本地

create view vStudentInfo
as
--以下为查询语句
select s.s_id,s_name,s_sex,s_score from student s
inner join score sc on s.s_id=sc.s_id and c_id=01

2、索引视图

create view vStudentInfo_Index with schemabinding
as
select s_id,s_name,s_sex from dbo.student
--必须写出字段名,不能选取所有列(*),表名需带所有者(dbo)

3、分区视图(与标准视图有何区别?只是因为跨数据或者表,且成员表结构相同,才叫分区?)

--准备工作:创建student2并插入数据
create table student2
(
s_id int primary key not null,
s_name varchar(16) null,
s_birth date null,
s_sex char(2) null,
s_date date null
)
insert student2 values
(1,'张三','2005-01-01','男','2012-09-01'),
(2,'李四','2005-01-01','男','2012-09-01'),
(3,'王五','2005-01-01','男','2012-09-01'),
(4,'蔡六','2005-01-01','男','2012-09-01')

--创建视图
create view vStudentInfo_Union
as
select * from student
union all
select * from student2

--提取数据
select * from vStudentInfo_Union

3、使用视图

把视图当成表,直接用select语句查询

select * from vStudentInfo
where s_score>=60

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值