- 1、本文档共33页,可阅读全部内容。
- 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 Management Studio中,如果右键单击索引名,在弹出的快捷菜单上选择“删除”命令,即可打开“删除对象”对话框,单击“确定”按钮,即可将所选索引删除。 使用DROP INDEX命令可以删除索引,基本语法格式如下: DROP INDEX 索引名称 ON 表∣视图 [,…n] 删除“Students”表中的索引“PK_Students”。 Use StudentElective Go Drop index PK_Students on Students 索 引 课前预习 将手机调到静音 认真做笔记 及时完成作业 上课要求 了解索引的基本概念、类型和特点 掌握索引创建、管理和维护的方法 学习目标 学习内容 创建索引(SSMS、T-SQL语句) 管理、维护索引(查看、修改及删除视图) 索引 在Microsoft SQL Server系统中,可管理的最小空间是页,一个页是8KB的物理空间。按照其存储内容的不同,页可分为数据页和索引页。 当插入数据的时候,数据就按照插入的时间顺序被放置在数据页上。 一般情况下,放置数据的顺序与数据本身的逻辑关系之间是没有任何联系的。 从数据间的逻辑关系来看,数据被杂乱地堆放在一起。数据的这种堆放方式称为堆。 当一个数据页上的数据堆放满之后,数据就得堆放在另外一个数据页上,这时就称为页分解。 随着页分解现象的增多,查找数据的难度也随之增加。建立索引可有效及解决这个问题。 索引类似于书中的目录,它与表或者视图相关联,物理存在于磁盘上,包含了表中的一列或者若干列的数据集合(称为关键字)和包含这些数据的记录在表中的物理存储地址。它提供了数据库中编排表中数据的内部方法。 索引的作用 使用索引可以大大提高系统的性能,其主要作用表现在以下几个方面。 建立索引可以极大提高数据查询速度。 通过创建唯一性索引,可以保证每一行数据的唯一性。 加快表间连接。 可以明显减少包含了排序和分组子句的查询语句的分组和排序时间。 索引的类型 索引的分类 其他索引 基础索引 聚集索引 非聚集索引 唯一索引 复合索引 全文索引 XML索引 (1)聚集索引 在聚集索引中,行的物理存储顺序与索引顺序完全相同,因为行是经过排序的,即将表中的记录在物理数据页中的位置按索引字段值重新排序,再将重排后的结果写回到磁盘上。 索引的顺序决定了表中行的存储顺序。 (2)非聚集索引 非聚集索引并不在物理上排列数据,即索引中的逻辑顺序并不等同于表中行的物理顺序,索引仅仅记录指向表中行的位置的指针,这些指针本身是有序的,通过这些指针可以在表中快速地定位数据。非聚集索引中的定位指针称为行定位器。 (3)唯一索引 唯一索引要求创建索引的关键字段值在表中不能有重复值,唯一索引与聚集索引和非聚集索引不冲突,如果要求索引改变数据存储结构,可以创建唯一聚集索引,如果要求索引不影响数据的物理存储结构,可以定义唯一的非聚集索引。唯一索引可以确保键列的数据完整性。 (4)其他索引 SQL Server 2005还包含复合索引、全文索引和XML索引等。 创建索引的原则 (1)适合索引的原则 如果一个表或者视图经常被检索而且很少更新,索引会提高效率。 如果一个视图连接的表很多或者很复杂,建立索引可以提高连接速度。 索引建立在主键所在的列上可以强制主键的唯一性;建立在外键所在的字段上加快连接速度;建立在查询条件所包含的列上可以提高检索速度; 建立在ORDER BY、GROUP BY、DISTINCT子句中出现的字段上,由于数据已经按照这些字段排序,也可以提高创建索引的速度; 建立在经常被查询的字段上,索引带来的效率最大。 (2)不适合索引的情况 如果一个表或者视图中的数据更新频率高,即使经常被检索,维护索引的时间和空间开销都会很大,从而降低了效率; 如果一个表中包含的数据行很少,建立索引可能只会增加系统开销; 如果数据很少被检索,在它们上面建立索引只会增加系统的空间开销; 如果字段是ntext、text、image、varchar(max)、 nvarchar(max) 和 varbinary(max)等类型,则不能建立索引。 索引设计的建议:
文档评论(0)