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