- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5章节 索引创建与使用
第5章 索引的创建与使用;5.1 索引概述 ;创建索引的原则
在经常用来检索的列上创建索引(如经常在where子句中出现得列)。
在表的主键、外键上创建索引。
在经常用于表间连接的字段上建立索引。
一般而言,如下情况的列不考虑在其上创建索引:
在查询中几乎不涉及的列。
很少有唯一值的列(即包含太多重复值得列,如性别字段)。
数据类型为text、ntext或image的列。
只有较少行数的表没有必要创建索引。
当写的性能比查询更重要时,应少建或不建索引。
;5.1.2 索引的分类
聚集索引: 将表中的记录在物理数据页中的位置按索引字段值重新排序,再将重排后的结果写回到磁盘上。每个表只能有一个聚集索引 。
非聚集索引:与表中数据行的实际存储结构无关不会改变数据表中记录的实际存储顺序,每个表可以有多个非聚集索引 。
唯一索引:要求创建索引的关键字段值在表中不能有重复值 。
复合索引:对表创建的索引是基于多个字段对表中的记录排序的。 ;5.2 创建索引;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进行排序。
;例5-2:为sales数据库中的Products表创建一个复合索引,依据字段CategoryID和Price进行排序。
;5.2.3 利用索引优化向导创建索引
;步骤
打开查询分析器,在查询分析器中输入需要优化索引的查询语句
从“查询”菜单中选择“索引优化向导”
单击“下一步”按钮,出现“选择服务器和数据库”对话框 ,选择数据库
单击“下一步”按钮,出现“指定工作负荷”对话框,选择“SQL Server查询分析器选择”
单击“下一步”按钮,弹出“选择要优化的表”对话框,选择需要优化的表
单击“下一步”按钮,开始分析数据库和工作负荷
单击“下一步”按钮,完成并出现索引建议
;5.3 管理索引;5.3.1 使用企业管理器查看、修改和删除索引
;查看、修改索引属性
右击表,从弹出的快捷菜单中依次选择“所有任务|管理索引”选项,打开“管理索引”
选中某个索引,单击“编辑”按钮
修改索引名
进入表属性对话框
选择“索引/键”
删除索引
选中要删除的索引名,单击“删除”按钮;5.3.2 使用Transact-SQL语句查看、修改和删除索引
查看索引信息
使用系统存储过程可查看索引信息,其语法形式如下:
sp_helpindex [@objname]=’name’
;例5_3:利用系统存储过程查看sales数据库中表Products的索引信息,命令行如下:;??改索引名称
使用系统存储过程sp_rename更改索引的名称,
其语法形式如下:
sp_rename [@objname=]’object_name’,
[@newname=]’new_name’
[,[@objtype=]’object_type’]
;例5_4:将Products表中的索引ProID_index重命名为 ID_index。其命令行如下:
;删除索引
当不再需要某个索引时,可以DROP INDEX命令删除索引。而且利用该命令删除索引时,可以
文档评论(0)