- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五讲 数据库保护(数据完整性) 索引的定义 一个单独的、物理的数据库结构。 是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针表。 依赖于表建立,提供了数据库中编排表中数据的内部方法。 表存储由两部分组成 用来存放表的数据页面 存放索引页面 索引存放在索引页面上,通常索引页面相对于数据页面来说小得多。 当进行数据检索时,系统先搜索索引页面从中找到所需数据的指针,再直接通过指针从数据页面中读取数据。 从某种程度上可以把数据库看作一本书,把索引看作书的目录,通过目录查找书中的信息显然较没有目录的书方便快捷。 索引的分类(按存储结构的不同) 簇索引(Clustered Index) 对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上即数据表的物理顺序与索引顺序一致。 簇索引对表中的数据一一进行了排序,因此用簇索引查找数据很快, 但由于簇索引将表数据完全重新排列,它所需的空间特别大,大概相当于表中数据所占空间的120% 。 表数据行只能以一种排序方式存储在磁盘上,所以一个表只能有一个簇索引 非簇索引(Nonclustered Index) 索引的分类(按存储结构的不同) 簇索引(Clustered Index) 非簇索引(Nonclustered Index) 与表数据完全独立的结构,不用将物理数据页中的数据按列排序。 索引页存储关键字值和行定位器。 行定位器按关键字值用一定的方式排序,顺序与表行在数据页中的排序是不匹配的 非簇索引使用索引页存储,因此它比簇索引需要更多的存储空间,且检索效率较低。 当用户需要为一个表建立多个索引时,需要使用非簇索引。 理论上一个表最多可建249个非簇索引 索引的创建 用企业管理器创建索引 用索引创建向导创建索引 在目录树中选择要创建索引的表的数据库结点,从“工具”菜单中选择“向导”命令,在出现的“选择向导”界面中,单击“创建索引向导” ,出现“创建索引向导”界面 单击“下一步”,列出可供选择的索引设置选项(参考CREATE INDEX 命令) 单击“下一步”,完成索引创建界面,可指定索引名,及调整组成索引的列顺序,单击“完成”结束索引创建过程,系统会弹出一个创建索引成功信息对话框, 索引的创建 用企业管理器创建索引 用索引创建向导创建索引 直接创建索引 选择要创建索引的表,单击右键,从快捷菜单中选择“所有任务”中的“管理索引”选项, 用CREATE INDEX 命令创建索引 CREATE INDEX 既可以创建一个可改变表的物理顺序的簇索引也可以创建提高查询性能的非簇索引 CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX 索引名 ON {表名|视图名} 列名 [ ASC | DESC ] [,...n]) [WITH [ [, ] FILLFACTOR = 填充因子] [ [, ] IGNORE_DUP_KEY] [ [, ] DROP_EXISTING] ] 用CREATE INDEX 命令创建索引 CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX 索引名 ON {表名|视图名} 列名 [ ASC | DESC ] [,...n]) [WITH [ [, ] FILLFACTOR = 填充因子] [ [, ] IGNORE_DUP_KEY] [ [, ] DROP_EXISTING] ] UNIQUE:创建惟一索引,即索引的键值不重复,在列包含重复值时不能建惟一索引。还应确定索引所包含的列均不允许NULL值 CLUSTERED:创建的索引为簇索引,若缺省则为非簇索引 NONCLUSTERED:创建的索引为非簇索引,其索引数据页包含指向数据库实际表数据页的指针 ASC | DESC:指定索引列的排序方式,默认为升序ASC FILLFACTOR=填充因子:创建索引时每个索引页的数据占索引页大小的百分比。 填充因子的值为0到100。 它同时指出了索引页保留的自由空间占索引页大小的百分比,即100-填充因子。 对于频繁进行大量数据插入或删除的表,在建索引时应为将来生成的索引数据预留较大的空间,即将填充因子设得较小,否则索引页会因数据的插入而很快填满并产生分页,而分页会大大增加系统的开销。 但如果设得过小又会浪费大量的磁盘空间,降低查询性能。因此对于此类表通常设一个大约为10的填充因子,而对于数据不更改的、高并发的只读表,填充因子可设到95以上乃至100。 IGNORE_DUP_KEY:控制当往包含在惟一约束中的列中插入重复数据时,SQL Server所作的反应。选择此项,SQL Server返回一个错误信息,
您可能关注的文档
最近下载
- 美国数学竞赛2020 AMC 10A (解析版).pdf VIP
- 小学体育教坛新秀学科素养检测试卷与答案.pdf VIP
- 2025重庆两江假日酒店管理有限公司招聘12人备考题库及答案解析.docx VIP
- 一种聚α-烯烃的生产工艺.pdf VIP
- 2025年教科版(2024)小学科学三年级上册(全册)教学设计(附目录P171).docx
- 工匠精神(教学PPT)课件PPT1).pptx VIP
- YD_T 4006-2022 信息通信用10kV交流输入的直流不间断电源系统.docx VIP
- 《数学史》宋元数学.ppt VIP
- 2025重庆两江假日酒店管理有限公司招聘12人笔试参考题库附答案解析.docx VIP
- 12.2+食物消化和吸收(第1课时)(互动课件)-2025-2026学年八年级上册生物优质备课课件(苏教版2024).pptx VIP
文档评论(0)