课件-sql server 2012数据库技术实用教程项目.pptx

课件-sql server 2012数据库技术实用教程项目.pptx

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

项目5创建索引《SQLServer2012

数据库技术实用教程》作者:高云崔艳春夏平

(时间:1次课,2学时)

项目5创建索引5.1索引5.2创建索引5.3修改索引5.4删除索引5.5设计和优化索引5.6小型案例实训

5.1索引5.1.1索引的概念5.1.2索引的类型5.1.3堆

5.1.1索引的概念索引是与表或视图关联的磁盘上结构,可以加速查询表或视图中的记录。索引包含由表或视图中的一列或多列生成的键,SQLServer通过在索引中查找键值来快速查找与键值关联的记录。在SQLServer中,索引是按B树结构进行组织的,如图所示。

5.1.2索引的类型(1)SQLServer数据库的索引分为聚集索引和非聚集索引两类。SQLServer数据库中的表可以创建聚集索引和非聚集索引,也可以不带任何索引。根据表是否带有可用索引,SQLServer采用表扫描或查找索引的方式来查询记录。

5.1.2索引的类型(2)聚集索引表中记录在物理介质上的存储顺序与聚集索引的键值排列顺序一致,因此一个表最多只能有一个聚集索引。

5.1.2索引的类型(3)非聚集索引的键值顺序和表中记录在物理介质上的存储位置顺序是不一致的,因此通过非聚集索引查询的速度比通过聚集索引查询的速度慢,但一个表可以有零个到多个非聚集索引。

5.1.2索引的类型(4)SQLServer还有一种索引,是唯一索引。聚集索引和非聚集索引的键值可以是唯一的,也可以不是唯一的,因此可以设置聚集索引和非聚集索引为唯一索引或非唯一索引。

5.1.3堆对于不含聚集索引的表,SQLServer会在堆中维护数据页。

5.2创建索引5.2.1创建聚集索引5.2.2创建非聚集索引5.2.3创建唯一索引5.2.4创建带有包含列的索引5.2.5创建筛选索引

5.2.1创建索引快捷菜单项【新建索引】CREATEINDEX语句CREATECLUSTEREDINDEX索引名ON表名(列名[ASC|DESC][,...n])【实例5-1】

5.2.2创建非聚集索引快捷菜单【新建索引】CREATEINDEX语句CREATENONCLUSTEREDINDEX索引名ON表名(列名[ASC|DESC][,...n])【实例5-2】

5.2.3创建唯一索引快捷菜单【新建索引】CREATEINDEX语句CREATEUNIQUECLUSTERED|NONCLUSTEREDINDEX索引名ON表名(列名[ASC|DESC][,...n])【实例5-3】

5.2.4创建带有包含列的索引(1)非聚集索引可以包含非键列,从而覆盖更多的列。用于包含的列是不能作为索引键列,数据库引擎在计算索引键列数或索引键大小时不考虑非键列。当查询中的所有列都作为键列或非键列包含在索引中时,该索引可以显著提高查询性能,因为查询优化器可以在索引中找到所有列值而不访问表或聚集索引数据,从而减少磁盘I/O操作。

5.2.4创建带有包含列的索引(2)快捷菜单【新建索引】CREATEINDEX语句CREATENONCLUSTEREDINDEX索引名ON表名(列名[ASC|DESC][,...n])INCLUDE(列名)【实例5-4】

5.2.5创建筛选索引筛选索引是一种经过优化的非聚集索引。当仅需查询索引列的键值所在特定区间的记录时,可以使用筛选索引。筛选索引通过索引列的键值对记录进行筛选,使得查询速度加快,索引空间减小,索引维护工作量减少。快捷菜单【新建索引】CREATEINDEX语句CREATENONCLUSTEREDINDEX索引名ON表名(列名[ASC|DESC][,...n])【实例5-5】

5.3修改索引5.3.1修改索引列5.3.2禁用索引5.3.3重新生成索引5.3.4重新组织索引5.3.5索引填充因子

5.3.1修改索引列【索引属性】对话框CREATEINDEX语句CREATECLUSTERED|NONCLUSTEREDINDEX索引名ON表名(列名[ASC|DESC][,...n])WITH(DROP_EXISTING=ON)【实例5-6】

5.3.2禁用索引快捷菜单【索引】|【禁用】ALTERINDEX语句ALTERINDEX索引名ON表名DISABLE【实例5-7】

5.3.3重新生成索引重新生成索引是指删除并重新创建索引。重新生成索引将删除索引碎片,回收多余磁盘空间,在连续页中对索引行重新排序,并根据需要分配新页,从而减少获取所请求数据所需的页读取数,达到提高磁盘性能的目的。快捷菜单

文档评论(0)

159****9610 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6044052142000020

1亿VIP精品文档

相关文档