- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[理学]第9章 索引
数 据 库 原 理 与 应 用(SQL Server 2005) 第9章 索引 第9章 索引 9.1 索引概述 索引的定义 索引是一种为了加速对表中数据行的检索而创建的分散存储结构。 SQL Server中的索引与书的目录很类似 索引是基于表中的数据创建的,它是由除存放表的数据页面以外的索引页面构成。 每个索引页面中的行都含有逻辑指针,以便加速检索物理数据。 对表中的列是否创建索引以及创建什么样的索引,对于查询的响应速度都会有很大的影响。 9.1 索引概述 创建索引的优点 (1)索引可以加速查询 (2)加快表与表之间的连接 (3)在包含分组和排序的查询中,减少分组排序时间 (4)有利于SQL Server进行查询优化 (5)可以强制实施唯一性约束 创建索引的缺点 (1)创建索引和维护索引要耗费时间 (2)索引需要占一定的物理空间 (3)索引会降低数据修改的性能 9.1 索引概述 9.1 索引概述 1、索引的结构——B树 9.1 索引概述 2、索引分类—聚集索引(CLUSTERED INDEX) 聚集索引确定表中数据的物理顺序; 每个表只能有一个聚集索引; 数据页就是聚集索引树的叶级页; 行的物理存储顺序和索引的逻辑顺序完全相同; 对于那些经常要搜索范围值的列特别有效。 表上如果存在主键,主键列即自动会创建聚集索引。 9.1 索引概述 9.1 索引概述 2、索引分类—聚集索引(CLUSTERED INDEX) 一般情况下,表上如果存在主键,主键列即默认会创建聚集索引。 特殊情况下我们需要考虑以下情况建立聚集索引: 经常按范围查询的列; 经常用于分组和排序的列; 在连接中常用的列。 在创建聚集索引时应注意以下事项: 每张表只能包含一个聚集索引,但可以是多列的组合; 由于聚集索引会改变表中数据的物理顺序,所以应该先创建聚集索引,后建立非聚集索引; 不能在频繁修改的列上创建聚集索引,这样会浪费大量的成本来维护索引。 9.1 索引概述 2、索引分类—非聚集索引(NONCLUSTERED INDEX) 非聚集索引中记录的物理顺序与逻辑顺序没有必然的联系。 非聚集索引的叶级页中记录了指向物理数据位置的信息,可以快速定位到指定数据。 如果表中没有聚集索引,则非聚集索引建立在原始无序的数据上; 而当表上已经有了聚集索引时,非聚集索引将建立在聚集索引上。 在只包含非聚集索引的表中,叶节点包含了具有指针的行标识符,由文件ID、页码行页上的行数构成。 当在已经有聚集索引的表上建立非聚集索引的时候,每个非聚集索引的行指示器包含了行的聚集索引键值。 9.1 索引概述 2、索引分类—非聚集索引(NONCLUSTERED INDEX) 非聚集索引常被用在以下情况: 经常用于分组、汇总的列上; 经常用于排序的列上; 经常用于连接的列上; 经常返回总数据量中很少一部分的列上。 创建非聚集索引需要考虑以下一些事项: 创建索引时,默认为非聚集索引; 对每个表最多可以建立249个非聚集索引; 非聚集索引需要占用一定的磁盘空间; 会一定程度上降低向表中插入和更新数据的速度; 若表上的聚集索引发生改变(新建或删除),将重建表上现有的非聚集索引。 9.1 索引概述 1.考虑创建索引的列 (1)主键列上(默认创建一个聚集索引); (2)经常用在连接的列上; (3)?经常需要进行范围查询的列上; (4)经常需要排序的列上。? 2.不考虑创建索引的列 (1)很少或从来不在查询中引用的列。 (2)选择性低(重复值多)的列; (3)小表(记录数很少的表)一般也不必创建索引; (4)更新操作比较频繁的列上不适合创建索引。 9.1 索引概述 【任务9-1】设计学生表Student的索引。 9.1 索引概述 【任务9-2】设计班级表Class的索引。 第9章 索引 9.2 创建和管理索引 使用T-SQL语句创建索引的语法 9.2 创建和管理索引 1.创建聚集索引 【任务9-3】在学生表的学号列上创建的聚集索引。 9.2 创建和管理索引 2.创建非聚集索引 【任务9-4】在学生表的姓名列上创建唯一的非聚集索引。 9.2 创建和管理索引 3.创建组合索引 【任务9-5】在学生成绩表的学生编号列和课程编号列上创建组合的聚集索引。 9.2 创建和管理索引 1.FILLFACTOR选项 FILLFACTOR选项用于设置填充因子的值。 所谓填充因子是指叶级索引页的填满程度。 在叶级索引页适当留出空间,可以减少页拆分的频率。 填充因子可以用来优化包含索引的表中的INSERT和UPDATE语句的性能。 9.2 创建和管理索引 【任务9-6】在学生表的班级编号列上创建索引,指定其填充程度为80%。 9.2 创建和管理索引 2.PAD_I
您可能关注的文档
最近下载
- 销售行业述职报告5篇.docx VIP
- 英语必备词汇(思维导图版).doc VIP
- 汽油、柴油仓储及50万吨_年甲醇汽油调配添加剂调制项目可行性研究报告中润油新能源股份有限公司.doc VIP
- GB T 3810.14-2016 陶瓷砖试验方法第14部分 耐污染性的测定.docx VIP
- AIAG 第三版APQP产品质量先期策划培训教程-学员版.pdf VIP
- 文件检验相关知识试卷涵盖检验准备鉴定等内容.doc
- 人教版初中化学知识总结.pdf VIP
- 2024江西工业职业技术学院数学专任教师岗位招聘3人笔试备考题库及答案解析.docx VIP
- 工业碳排放绩效研究.pptx VIP
- 瓦楞纸板箱生产环境质量控制手册与程序汇编指南.docx VIP
文档评论(0)