sqlserver2008数据库应用与开发教学课件作者李新德第六章
59页1、第六章 索引与数据完整性,项目八 索引的创建和删除 项目九 数据约束和数据完整性,返回,项目八 索引的创建和删除,一、创建索引的原因 当查阅某本书的某个章节时,为了提高查阅速度,不是从书的第一页开始顺序查找,而是首先找到书的目录索引,找到需要的章节在目录中的页码,然后根据这一页码直接找到需要的章节。如果把表的数据看作书的内容,则索引就是书的目录。书的目录指向了书的内容(通过页码),同样,索引是表的关键值,它提供了指向表中行(记录)的指针。目录中的页码是到达书的内容的直接路径,而索引也是到达表数据的直接路径,它使人们可更高效地访问数据。本项目利用索引快速访问数据库表中的特定信息,并为选定的表创建、编辑或删除索引。,下一页,返回,项目八 索引的创建和删除,二、索引的概念 索引是以表为基础的数据库对象,保存着表中排序的索引列,并且记录了索引列在数据表中的物理存储位置,实现了表中的数据的逻辑排序,提高了SQL Server 系统的性能,加快了数据的查询速度,减少了系统的响应时间。它是由除存放表的数据页面以外的索引页面组成的。每个索引页面中的行都包含逻辑指针,通过该指针可以直接检索到数据,这会加
2、速物理数据的检索速度。对表中的列(字段)是否创建索引以及创建何种索引,对检索的速度会有很大的影响。创建了索引的列几乎是立即响应,而未创建索引的列就需要等很长时间。,上一页,下一页,返回,项目八 索引的创建和删除,因为对于未创建索引的列,SQL Server 需要逐行进行搜索,这种搜索耗费的时间直接同表中的数据量成正比。当数据量很大时,耗费的时间是难以想象的。 三、创建索引应考虑的主要因素 (1) 如果一个表建有大量索引,其会影响insert、update 和delete 语句的性能,因为在表中的数据更改时,所有索引都需进行适当的调整。 (2) 覆盖的查询可以提高性能。覆盖的查询是指查询中所有指定的列都包含在同一个索引中。创建覆盖一个查询的索引可以提高性能,因为该查询的所有数据都包含在索引自身当中。,上一页,下一页,返回,项目八 索引的创建和删除,(3) 对小型表进行索引可能不会产生优化效果,因为SQL Server 在遍历索引以搜索数据时,花费的时间可能会比简单的表扫描还长。 四、索引的分类 1. 聚集索引 聚集索引会对表和视图进行物理排序,所以这种索引非常有效,每个表或视图只能有一个
3、聚集索引。将表中的记录在物理数据页中的位置按索引字段值重新排序,再将重排后的结果写回磁盘。如果表中没有聚集索引,SQL Server 会用主键列作为聚集索引。在语句“createindex”中,使用“clustered”选项建立聚集索引。,上一页,下一页,返回,项目八 索引的创建和删除,创建时应注意: (1) 每个表只能有一个聚集索引; (2) 表中的物理顺序和索引中的物理顺序是相同的; (3) 保证有足够的空间创建聚集索引。 可考虑将聚集索引用于下面几种情况: (4) 包含大量非重复值的列; (5) 使用下列运算符返回一个范围值的查询:between、=、和=; (6) 被连续访问的列;,上一页,下一页,返回,项目八 索引的创建和删除,(7) 返回大型结果集的查询; (8) 经常被使用连接或group by 子句的列。 2. 非聚集索引 非聚集索引与书中的索引类似,数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置。非聚集索引不会对表或视图进行物理排序,具有与表的数据完全分离的结构,其由数据行指针和一个索引值构成。考虑将非聚集索引用于下面的情况: (1) 包含大
4、量非重复值的列,如姓氏和名字的组合(如果聚集索引用于其他列)。,上一页,下一页,返回,项目八 索引的创建和删除,(2) 不返回大型结果集的查询。 (3) 返回精确匹配的查询的搜索条件(where 子句)中经常使用的列。 (4) 在特定的查询中覆盖一个表中的所有列。 3. 唯一索引 唯一索引(unique index)表示表中任何两行记录的索引值都不相同,与表的主键类似。 它可以确保索引列不包含重复的值。在多列唯一索引的情况下,该索引可以确保索引列中每个值组合都是唯一的。如果该索引列上已经存在重复值,系统就会报错。,上一页,下一页,返回,项目八 索引的创建和删除,五、合理使用索引 选择创建不同的索引时要考虑实际情况,在不同情况下创建聚集索引还是非聚集索引可参考表61。 任务 索引的创建和删除 【任务准备】 1. 使用TSQL 语言创建索引的方法 只有表或视图的所有者才能为表创建索引,可以随时创建索引,无论表中是否有数据。 创建索引是通过create index 语句来完成的,其语法格式如下:,上一页,下一页,返回,项目八 索引的创建和删除,createuniqueclustered |
《sqlserver2008数据库应用与开发教学课件作者李新德第六章》由会员E****分享,可在线阅读,更多相关《sqlserver2008数据库应用与开发教学课件作者李新德第六章》请在金锄头文库上搜索。
逍遥游复习 知识点整理
近现代法德关系史 高三展示课3稿
当代大学生人生信仰及追求的调查研究
长相思 纳兰性德-ppt课件
课件:危机意识 一
英语ppt演讲关于阿甘正传
发达国家基础教育改革的动向与趋势 修改版
中国民间美术 课件.ppt
生物质发电技术与系统 课程ppt 第1章 生物质发电技术现状及发展趋势 2学时 -----2016
现代信号处理思考题 含答案
执业药师继续教育 抑郁症的药物治疗 100分
小学生的成长档案模板不用修改 万能型
增订六版 现代汉语 上册 第二章文字 思考与练习答案
国家财政ppt课件
加拿大英语介绍
六年级统计图的选择课件
中学生成长档案ppt
中国现代文学史期末复习整理
lohi和hihilo训练对女子赛艇运动员运动能力影响的比较研究
风雨贾平凹阅读答案
2024-05-10 29页
2024-05-10 33页
2024-05-10 48页
2024-05-10 30页
2024-05-10 30页
2024-05-10 40页
2024-05-10 25页
2024-05-10 43页
2024-05-10 16页
2024-05-10 31页