- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
----SQL Server 2000 利用索引优化数据访问 索引的概念 索引是一个单独的物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识,这些值的数据页的逻辑指针清单。索引是依赖于表建立的。它提供了数据库中编排表中数据的内部方法。 索引就存放在索引页面上,通常索引页面相对于数据页面来说小得多。 当进行数据检索时,系统先搜索索引页面,从中找到所需数据的指针,再直接通过指针从数据页面中读取数据。 索引的结构 SQL Server中的索引是以B-树结构来维护的,B-树是一个多层次自维护的结构。一个B-树包括一个顶层称为根节点。 0到多个中间层,一个底层。0底层中包括若干叶子节点Leaf Node。在图中每个方框代表一个索引页,索引列的宽度越大,B-树的深度越深,即层次越多。读取记录所要访问的索引页就越多,也就是说数据查询的性能将随索引列层次数目的增加而降低。 SQL Server 索引类型 在SQL Server 的数据库中按存储结构的不同将索引分为两类: 簇索引Clustered Index(聚集) 非簇索引Nonclustered Index 簇索引: 簇索引对表的物理数据页中的数据按列进行排序然后再重新存储到磁盘上即簇索引与数据是混为一体的.它的叶节点中存储的是实际的数据由于簇索引对表中的数据一一进行了排序.因此用簇索引查找数据很快但由于簇索引将表的所有数据完全重新排列了它所需要的空间也就特别大.大概相当于表中数据所占空间的120% 表的数据行只能以一种排序方式存储在磁盘上所以一个表只能有一个簇索引 SQL Server 索引类型 非簇索引 非簇索引具有与表的数据完全分离的结构。使用非簇索引不用将物理数据页中的数据按列排序。非簇索引的叶节点中存储了组成非簇索引的关键字的值和行定位器。行定位器的结构和存储内容取决于数据的存储方式: 如果数据是以簇索引方式存储的,则行定位器中存储 的是簇索引的索引键。 如果数据不是以簇索引方式存储的,这种方式又称为堆存储方式。行定位器存储的是指向数据行的指针。 非簇索引将行定位器按关键字的值用一定的方式排序,这个顺序与表的行在数据页中的排序是不匹配的。由于非簇索引使用索引页存储,因此它比簇索引需要更多的存储空间,且检索效率较低。但一个表只能建一个簇索引,当用户需要建立多个索引时,就需要使用非簇索引了。 从理论上讲一个表最多可以建249个非簇索引 索引 索引可以是唯一的,这意味着不会有两行有相同的索引键值。另外,索引也可以不是唯一的,多个行可以共享同一键值。 有两种方法可以在 SQL Server 内定义索引。CREATE INDEX 语句创建并命名索引。CREATE TABLE 语句支持在创建索引时使用下列约束: PRIMARY KEY 创建唯一索引来强制执行主键。 UNIQUE 创建唯一索引。 CLUSTERED 创建聚集索引。 NONCLUSTERED 创建非聚集索引。 创建索引 —用CREATE INDEX 命令创建索引 CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX index_name ON {table | view } column [ ASC | DESC ] [,...n]) [WITH [PAD_INDEX] [ [, ] FILLFACTOR = fillfactor] [ [, ] IGNORE_DUP_KEY] [ [, ] DROP_EXISTING] [ [, ] STATISTICS_NORECOMPUTE] [ [, ] SORT_IN_TEMPDB ] ] [ON filegroup] 创建索引 —用CREATE INDEX 命令创建索引 FILLFACTOR 称为填充因子它指定创建索引时每个索引页的数据占索引页大小的百分比fillfactor 的值为1 到100 它其实同时指出了索引页保留的自由空间占索引页大小的百分比即100 - fillfactor 对于那些频繁进行大量数据插入或删除的表在建索引时应该为将来生成的索引数据预留较大的空间即将fillfactor 设得较小 否则索引页会因数据的插入而很快填满并产生分页而分页会大大增加系统的开销但如果设得过小又会浪费大量的磁盘空间降低查询性能因此对于此类表通常设一个大约为10的fillfactor 而对于数据不更改的高并发的只读的表illfactor 可以设到95 以上乃至100 值越小留的空间越少,越大留的空间越大 注意事项 数据类型为TEXT NTEXT IMAGE或BIT的列不能作为索引的列 由于索引的宽度不能超过900个字节因此数据类型为CH
您可能关注的文档
- 加倍与一半——胡浩勤2.ppt
- 加工部职务设计书.ppt
- 第十七课智取生辰纲.ppt
- 加强安全生产工作防止发生重大安全事故.ppt
- 加注释义增词.ppt
- 第十三章功、功率和机械效率复习课件.ppt
- 加速度合成定理.ppt
- 中国最浪漫的旅游景点 (2).ppt
- 动作技能的学习.ppt
- 中国服装品牌.ppt
- 频率之维:电针治疗腰椎间盘突出症的疗效差异与机制探究.docx
- 预购商品房抵押制度的法理剖析与实践路径探究.docx
- 产业集聚视角下长珠三角机电行业国际竞争力的比较与启示.docx
- 揭开影子董事的“面纱”:公司法视角下的深度剖析与实践反思.docx
- 筑牢食品安全防线:消费者民事权利保障的多维审视与实践探索.docx
- 鲁股力量:山东省上市公司对区域经济发展的多维贡献与驱动研究.docx
- 食用槟榔的安全风险剖析:多维度视角与应对策略.docx
- 我国中药材价格波动特征、影响因素及生产经营者风险应对策略研究.docx
- 论彩票业政府管制:现状、问题与优化路径.docx
- 全球能源变局下外资石油企业在华投资战略与前景洞察.docx
文档评论(0)