您的位置: 网站首页 > 数据库 > SQL Server数据库应用技术 > 第7章 索引 > 【7.2 创 建 索 引】

7.2 创 建 索 引

 

7.2 

本节将介绍创建索引的3种方法,即使用向导创建,使用企业管理器直接创建,和使用SQL语句创建。应该注意的是,正在备份数据库时将不能在其上创建索引。

7.2.1  使用向导创建索引

SQL Server提供了索引创建向导,可指导用户快速生成索引,其操作步骤如下:

1)打开企业管理器,展开将要使用的数据库,选择菜单栏的“工具”→“向导”菜单项,弹出“选择向导”对话框,展开“数据库”节点,单击选择“创建索引向导”选项,如图7-1所示。

7-1  选择创建索引向导

2)单击“确定”按钮,出现创建索引向导的欢迎界面,如图7-2所示,其中提示了欢迎信息和将要完成的操作。

7-2  创建索引向导欢迎界面

3)单击“下一步”按钮,弹出如图7-3所示对话框,用户可在其中选择要创建索引的数据库和对象名。

7-3  选择数据库和表

4)选择数据库和对象后,单击“下一步”按钮,弹出如图7-4所示“当前的索引信息”对话框,在列表框中列出已有索引的信息,其中PK_course是在创建表时创立的,其他“_WA”开头的索引是系统建立的。

5)单击“下一步”按钮,弹出如图7-5所示对话框,在其中可以选择要包含在索引中的列。此外还可决定表中数据行是按索引进行升序排列还是降序排列,默认为升序排列,如果要降序排序,可以在排序次序中选择“排序次序”复选框。

6)选择列和排列次序后,单击“下一步”按钮,出现如图7-6所示对话框。在这里可以选择该索引是否为聚集索引,其值是否唯一,还可确定数据页填充因子的大小,默认为50%,用户也可指定固定的填充因子,选择“固定”单选按钮后,可在其后的数字文本框中输入或调整填充因子的数值。

7-4  当前索引信息

7-5  选择列

7-6  指定索引选项

7)单击“下一步”按钮,出现如图7-7所示对话框,在“名称”文本框中可指定新索引的名称,可以通过“包含的列”列表框下方的“上移”、“下移”按钮来调整列顺序。

7-7  显示新索引的信息

8)若还要修改该索引,可单击“上一步”按钮返回前面的对话框进行修改。单击“完成”按钮即可创建该索引。

7.2.2  使用企业管理器创建索引

在企业管理器中还可直接在表上创建索引,操作步骤如下:

1)打开企业管理器,展开“数据库”中的“表”节点,选择要创建索引的表,右击该表,在弹出的快捷菜单中选择“所有任务”→“管理索引”命令,如图7-8所示,也可在菜单栏中选择“操作”→“所有任务”→“管理索引”菜单项。

7-8  选择管理索引

2)此时,弹出如图7-9所示“管理索引”对话框。用户可以在“现有索引”列表框中查看已有的索引。

7-9  管理索引

3)单击“新建”按钮,弹出如图7-10所示“新建索引”对话框。各项含义与向导中的一样。如果要求索引页面和数据页面一样使用填充因子,则可单击“填充索引”复选框。如果创建的是唯一性索引,可选择“忽略重复的值”复选框来跳过插入非唯一值数据行的错误。若要指定文件组,可先选择“文件组”复选框,再在其后的下拉选择框中选择合适的文件组。

7-10  新建索引

4)单击“确定”按钮即成功创建索引。

7.2.3  使用SQL语言创建索引

无论是使用向导还是使用企业管理器创建,最终都是通过SQL语言来创建索引。实际上,可以在查询分析器、ISQL查询分析器或OSQL中直接执行SQL语句来创建索引。创建索引的SQL语句如下:

CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED] INDEX <索引名>

ON <表名>|<视图名> (<列名列表>)

例如,在student表中的sname列上建立非聚集索引,可以执行以下语句:

CREATE NONCLUSTERED INDEX name_index ON student (sname)

也可在图7-10中单击“编辑SQL”按钮,弹出如图7-11所示“编辑Transact-SQL脚本”对话框。在文本编辑框中可直接输入SQL语句,其中支持语法高亮显示。输入完成后,可单击“分析”按钮来检查语法,若无错误,则提示“分析成功”,否则将提示“语法错误”,并指出错误位置,以便进一步修改。检查无误后,单击“执行”按钮即可执行该SQL语句创建指定索引。

7-11  编辑Transact-SQL脚本