索引的创建与使.ppt_第1页
索引的创建与使.ppt_第2页
索引的创建与使.ppt_第3页
索引的创建与使.ppt_第4页
索引的创建与使.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章 索引的创建与使用,学习要点: 索引的概念和优点 索引的分类 索引的创建与管理 5.1 索引概述 5.2 创建索引 5.3 管理索引,5.1 索引概述,5.1.1 为什么要创建索引 创建索引的优点 提高查询速度 利用索引的唯一性来控制记录的唯一性,创建索引的原则 在经常用来检索的列上创建索引(如经常在where子句中出现得列)。 在表的主键、外键上创建索引。 在经常用于表间连接的字段上建立索引。 一般而言,如下情况的列不考虑在其上创建索引: 在查询中几乎不涉及的列。 很少有唯一值的列(即包含太多重复值得列,如性别字段)。 数据类型为text、ntext或image的列。 只有较少行数的表没有必要创建索引。 当写的性能比查询更重要时,应少建或不建索引。,5.1.2 索引的分类 聚集索引: 将表中的记录在物理数据页中的位置按索引字段值重新排序,再将重排后的结果写回到磁盘上。每个表只能有一个聚集索引 。 非聚集索引:与表中数据行的实际存储结构无关不会改变数据表中记录的实际存储顺序,每个表可以有多个非聚集索引 。 唯一索引:要求创建索引的关键字段值在表中不能有重复值 。 复合索引:对表创建的索引是基于多个字段对表中的记录排序的。,5.2 创建索引,创建索引的三种方法简介: 用企业管理器创建索引 利用Transact-SQL语句创建索引 利用索引优化向导创建索引,5.2.1 用企业管理器创建索引 选择创建索引的表并进入管理索引对话框,管理索引对话框介绍,新建索引,编辑索引,删除索引,当前已有的索引,所选的数据库和表,新建索引,创建索引可以利用的字段,索引的属性,5.2.2 利用Transact-SQL语句创建索引 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 ,UNIQUE:用于指定为表或视图创建唯一索引 CLUSTERED:用于指定所创建的索引为聚集索引 NONCLUSTERED:用于指定所创建的索引为非聚集索引 index_name:用于指定所创建的索引名称 table:用于指定创建索引的表名称 ASC|DESC:用于指定某个具体索引列的升序或降序排序方向 Culumn:用于指定被索引的列 PAD-INDEX:用于指定索引中间级中每个页(节点)上保持开放的空间 FILLFACTOR=fillfactor:在创建索引时用于指定每个索引页的数据占索引页大小的百分比 ON filegroup:用于指定存放索引的文件组,例5-1:为sales数据库中的Products表创建一个唯一聚集索引, 依据字ProductID进行排序。,USE sales GO CREATE UNIQUE CLUSTERED INDEX ProID_index ON Products (ProductID),例5-2:为sales数据库中的Products表创建一个复合索引,依据字段CategoryID和Price进行排序。,USE sales GO CREATE INDEX C_P_index ON Products (CategoryID,Price),5.2.3 利用索引优化向导创建索引,索引优化向导是SQL Server2000提供的新的创建索引工具,它使用查询优化器分析工作负荷中的查询任务,向有大量工作负荷的数据库推荐最佳的索引混合方式,以加快数据库的查询速度,优化整个查询语句的性能。,步骤 打开查询分析器,在查询分析器中输入需要优化索引的查询语句 从“查询”菜单中选择“索引优化向导” 单击“下一步”按钮,出现“选择服务器和数据库”对话框 ,选择数据库 单击“下一步”按钮,出现“指定工作负荷”对话框,选择“SQL Server查询分析器选择” 单击“下一步”按钮,弹出“选择要优化的表”对话框,选择需要优化的表 单击“下一步”按钮,开始分析数据库和工作负荷 单击“下一步”按钮,完成并出现索引建议,5.3 管理索引,管理索引工具: 使用企业管理器 使用Transact-SQL语句,5.3.1 使用企业管理器查看、修改和删除索引,查看、修改索引属性 右击表,从弹出的快捷菜单中依次选择“所有任务|管理索引”选项,打开“管理索引” 选中某个索引,单击“编辑”按钮 修改索引名 进入表属性对话框 选择“索引/键” 删除索引 选中要删除的索引名,单击“删除”按钮,5.3.2 使用Transact-SQL语句查看、修改和删除索引 查看索引信息 使用系统存储过程可查看索引信息,其语法形式如下: sp_helpindex objname=name,表的名称,例5_3:利用系统存储过程查看sales数据库中表Products的索引信息,命令行如下:,USE sales GO Sp_helpindex Products,修改索引名称 使用系统存储过程sp_rename更改索引的名称, 其语法形式如下: sp_rename objname=object_name, newname=new_name ,objtype=object_type,例5_4:将Products表中的索引ProID_index重命名为 ID_index。其命令行如下:,USE sales GO Sp_rename Products.ProID_index,ID_index,index,删除索引 当不再需要某个索引时,可以DROP INDEX命令删除索引。而且利用该命令删除索引时,可以同时删除多个当前数据库中的索引,其语法形式如下: DROP INDEX table.index | view.index ,.n ,多个索引名称,例5_5: 删除 Products表中的index1和C_P_index两个索引。 其命令行如下: USE sales GO DROP INDEX Products.index1, Products. C_P_index,同时删除两个索引,小结: 本章

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论