索引和视图

索引

索引简介

索引就是数据表中的数据和相应存储位置的列表。利用索引可以提高再表或视图中查找数据的速度。

索引的分类

数据库中的索引主要分为两类:聚集索引和非聚集索引。Microsoft SQL Server 2008还提供了其它类型的索引,如唯一索引,索引视图,包含性列索引,全文索引,XML索引等。

1.聚集索引

聚集索引是指表中数据行的物理存储顺序与索引顺序完全相同。

2.非聚集索引

非聚集索引不改变表中的数据行的物理存储位置,数据与所有分开存储,通过索引指向的地址与表中的数据发生关系。

聚集索引与非聚集索引的取别

聚集索引非聚集索引
每个表只允许有一个聚集索引最多可以有249个非聚集索引
物理地重排表中的数据以符合索引约束创建一个键值指向数据再数据页中的位置
用于经常查找数据的列用于从中查找单个值的列
3.其他类型的索引
  • 唯一索引:如果希望索引键都不相同,可以创建唯一索引。聚集索引和非聚集索引都可以是唯一索引。
  • 包含性列索引:在Microsoft SQL Server 2008系统中,索引列的最大数量是16个,索引列字节总数的最高值是900。如果当多个列的字节总数大于900,且又想将这些列都包含在索引中时,可以使用包含性列索引。
  • 视图索引:如果希望提高视图的查询效率,可以将视图的索引物理化,也就是说将结果集永久储存在索引中,可以创建视图索引。
  • XML 索引:与XML数据关联的索引形式,是XML二进制BLOB的已拆分持久表示形式。
  • 全文索引:一种特殊类型的基于标记的功能性索引,由SQL Server全文引擎(MSFTESQL)服务创建和维护,用于帮助在字符串中搜索复杂的词。

使用create index 语句创建索引
基本语法:

 create [ unique ]
 [clustered | nonclustered] 
 index index_name
 on table_name (colume_name)
 [where fillfactor=x]
  • unique :创建唯一索引,可选项
  • clustered :创建聚集索引,可选项
  • nonclustered: 创建非聚集索引
  • index_name :创建的索引名
  • table_name:数据表名,这里也可以是视图名。
  • fillfactor:设置填充因子的大小。指定一个0到100之间的值,该值指示索引页填满的空间所占百分比。

视图

索引简介

视图是一个虚拟的数据表。该数据表中的数据记录又一条查询语句的查询结束得到。

使用T-SQL的create view 语句创建视图,基本语法:

create view view_name
as
<select 语句>
go

其中,view_name 是我们要创建的视图名,<select 语句> 是创建视图的查询名。

查询视图:

select * from view_name

注:以上只是使用T-SQL创建 ,在SQL Server management Studio 中创建忽略。T-SQL创建之前需要进行判断。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值