使用索引.ppt
文本预览下载声明
删除索引 在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)等类型,则不能建立索引。 索引设计的建议:
显示全部