SQL 第四章 索引和视图

第四章 索引和视图

 

索引

索引是数据表中数据和相应存储未知的列表,利用索引可以提高在表或视图中查找数据的速度。

 

两大类索引:聚合索引、非聚合索引

其他类索引:唯一索引(unique)、索引视图、包含型索引、全文索引、XML索引

 

聚合索引:根节点、中间节点、叶节点 (指表中数据航的物理存储顺序和索引顺序完全相同)

 

使用非聚合索引的情况:

某个字段的数据唯一性较高

查询所得到的数据量较少

已经包含聚集索引

最多有249个非聚集索引

 

 

判断索引是否存在并删除索引:

例: IF exists(SELECT * FROM sys.indexes WHERE name = 'IX_score')

DROP INDEX  stuMarks.IX_score

创建索引:

例:

CREATE NONCLUSTERED

INDEX  IX_score ON stuMarks(score)

WITH FILLFACTOR= 30 --填充因子0-100  可不写

GO

 

使用索引:

例:

SELECT * FROM stuMarks WITH(INDEX = IX_score)

 

SELECT * FROM stuMarks WITH(INDEX = IX_score)

WHERE score between 60 and 90

 

 

 

视图

视图是一张虚拟表,他表示一张表的部分数据或多张表的综合数据,其结构和数据时间里在对表的查询基础上。

 

创建视图语句

要注意使用视图语句的前后需要加批处理(go)

例:

--如果存在该视图,先将其删除掉

IF EXISTS ( SELECT * FROM sys.views WHERE NAME = 'view_stuInfo_stuMarks')

DROP VIEW view_stuInfo_stuMarks

GO

--创建名为view_stuInfo_stuMarks的视图

CREATE VIEW view_stuInfo_stuMarks(学号,姓名,成绩)

WITH encryption --加密视图语句  可不写

AS

SELECT stuName,stuInfo.StuID,score FROM stuInfo LEFT JOIN stuMarks 

ON stuInfo.StuID = stuMarks.StuID

GO

对视图进行引用

例:

 

select * from view_stuInfo_stuMarks

查看视图模式

例:

select * from information_schema.views

 

视图加密

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值