6-2索引的创建与管理 (1).pptx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

索引的创建与管理主讲教师:某某某

知识点引入能找到的可能性如同中彩票,几率很小。图书馆的书目、书籍编号、有序分类摆放,为大家的借阅、归还提供了便捷的查找依据。对图书馆来讲,书籍的分类、摆放顺序,就好比索引对数据表制定的分类、排序依据。很多图书馆的馆藏图书都有成千上万,如果把图书都没有规律的放到一起,大家能不能找到自己需要的书籍?该怎么办?

索引的定义含义索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引是什么?在前面我们学习了表对象,表本质上是一个存储库,主要是用来保存数据以及同数据有关的信息。然而,表的定义并不能保证其中的数据能够被快速获取。因此,需要某种类型的交叉引用,在交叉引用中记录在表中包含了哪些数据,这样才可能快速找到要查询的完整信息记录。

我要查询罗兰的信息学习索引必要性举例未创建索引查询条件Work_name=‘罗兰’特点从上至下,逐条查询,直到找到记录行为止,耗时。创建索引查询条件Work_name=‘罗兰’特点一步到位,直接指向记录行,快速。

索引提供指向存储在表的指定列中的数据值的指针,然后根据用户指定的排序顺序对这些指针排序。对创建了索引的表进行的查询几乎是立即响应的,而对未创建索引的表进行的查询,就可以需要较长时间的等待,SQLServer需要一行一行地去查询,这种扫描所耗费的时间直接和表中的数据量成正比。对于一个具有成千上万行的大型表来说,表的搜索功能可能要花费数分钟或数小时的时间。索引能干什么?可快速访问数据库表中的特定信息。索引

未创建索引前,字段的顺序是怎么排的?字段的如何排序?1.查询职员表中的姓名字段,观察该字段的顺序2.查询职员表中的编号及姓名字段,观察该姓名字段的顺序结论未创建索引前,姓名字段本身无顺序;其顺序与主键字段work_id的顺序保持一致;不利搜索和查询。

加速数据检索:索引是一种物理结构,它能够提供以一列或多列的值为关键字迅速查找/存取表中行数据的能力。索引的存在与否对检索、存取表的SQLServer用户来说是完全透明的;加快表与表之间的连接:在建立表的连接时需要进行数据检索,建立索引后,其数据检索速度会加快,从而也就加快了表与表之间的连接;在使用ORDERBY和GROUPBY等子句进行数据检索的时候,可以减少分组和排序的时间;有利于SQLServer对查询进行优化:在执行查询时,SQLServer都会对查询进行优化,主要依赖于索引的作用,它决定到底选择哪些索引可以使得该查询执行最快。索引的优点优点

创建索引要花费时间和占用存储空间:创建索引需要占用存储空间。同时在建立索引时,会花费时间将数据进行复制以便建立聚集索引,索引建立后,再将旧的未加索引的表数据删除。建立索引加快了数据检索速度,却减慢了数据修改速度:因为每当执行一次数据的插入、删除和更新操作,就要对索引进行维护,而且修改的数据越多,涉及维护索引的开销也就越大。所以,对建立了索引的表执行修改等操作,要比未建立索引的表执行修改操作所花的时间要长。因此,创建索引虽然可以加快数据查询的速度,但是会减慢数据修改的速度。索引的缺点缺点

方法一:利用对象资源管理器创建索引【任务1】为CPMS数据库的Worker表创建一个名为Work_name_index的非聚集索引,索引关键字为Work_name,升序。具体操作如下:打开SQLSERVER对象资源管理器;选择数据库cpms中的worker表,单击鼠标右键选择“设计”命令;打开“属性”窗口。在“属性”窗口单击鼠标右键,选择“索引/键”菜单命令,并在弹出的“索引/键”窗口中单击“添加”,创建一个新索引,。在新索引窗口中设置“列”内容为“Work_name”、“排序顺序”为“asc”,标识名称为“work_name_index”。关闭“索引/键”窗口,索引创建完毕。查询窗口输入命令SP_HELPINDEXworker,查看数据表worker的索引信息,发现索引已经被创建。操作完毕

方法二:利用T-SQL语句创建索引【任务2】在worker表上创建一个名为work_index3的唯一索引,要求检索时能快速的按照职员姓名字段的升序定位。CreateuniqueIndexwork_index1onworker(work_nameasc)格式:Create[Unique][Clustered|nonclustered]Index索引名ON表名(字段名ASC|DESC[,…n])[WITH[FillFactor=填充因子][[,]Drop_Existing]]2)说明:1、FillFactor子句通过参数指定各索引页级的填满

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档