《数据库原理及应用-(SQLServer2008版)》唐国良蔡中民-第7章.ppt

《数据库原理及应用-(SQLServer2008版)》唐国良蔡中民-第7章.ppt

(1)启动【SQL Server Management Studio】,连接到本地默认实例,在【对象资源管理器】窗口里,选择【数据库】→【stu_info】→【dbo.student】→【索引】。 (2)展开【索引】列表,右击IDX_sexmajor索引,在弹出的快捷菜单中选择【重命名】选项。 (3)重新输入新的索引名称IDX_FH,按回车键完成操作。 7.5.2 使用T-SQL语句重命名索引 重命名索引可使用存储过程sp_rename,其使用语法格式与重命名视图相同,详见第6章。 【例7-7】将stu_info数据库中student表上建立的IDX_sexmajor索引重命名为IDX_FH。 EXEC sp_rename ‘stu_info. IDX_sexmajor’ , ‘IDX_FH’ 7.6 禁用索引 禁用索引可以防止用户在查询记录时访问指定索引。对于聚集索引,还可防止用户访问聚集索引所在的数据表。禁用的索引要重新生成后才能使用。 7.6.1 使用SQL Server Management Studio禁用索引 下面以禁用stu_info数据库中student表上建立的IDX_sname索引为例,介绍使用SQL Server Management Studio禁用索引的方法。其操作步骤如下: (1)启动【SQL Server Management Studio】,连接到本地默认实例,在【对象资源管理器】窗口里,选择【数据库】→【stu_info】→【dbo.student】→【索引】。 (2)展开【索引】列表,右击IDX_sname索引,在弹出的快捷菜单中选择【禁用】选项。 (3)打开【禁用索引】对话框。单击【确定】按钮,完成操作。 注释:如果需要重新启用已禁用的索引,则可以在以上步骤2中的快捷菜单中选择【重新生成】选项。 7.6.2 使用T-SQL语句禁用索引 禁用索引可以通过ALTER INDEX 语句中的DISABLE参数完成。 【例7-8】禁用stu_info数据库中student表的主键索引。 ALTER INDEX PK_student ON student DISABLE GO SELECT * FROM student GO 其运行结果如图7-14所示。由于聚集索引被禁用,因此student表中的所有非聚集索引也被禁用,而且SELECT语句也无法使用了。 图7-14 禁用索引后结果 注释:若要重新生成并启用已禁用的索引,请使用 ALTER INDEX REBUILD 语句或 CREATE INDEX WITH DROP_EXISTING 语句。 7.7 删除索引 7.7.1 使用SQL Server Management Studio删除索引 下面以删除stu_info数据库中student表上建立的IDX_sname索引为例,介绍使用SQL Server Management Studio删除索引的方法。其操作步骤如下: (1)启动【SQL Server Management Studio】,连接到本地默认实例,在【对象资源管理器】窗口里,选择【数据库】→【stu_info】→【dbo.student】→【索引】。 (2)展开【索引】列表,右击IDX_sname索引,在弹出的快捷菜单中选择【删除】选项。 (3)在弹出的【删除对象】对话框中单击【确定】按钮,如图7-15所示。完成索引删除。 图7-15 删除对象对话框 7.7.2 使用T-SQL语句删除索引 删除索引使用DROP INDEX 语句,其基本语法格式如下: DROP INDEX { index_name ON table_or_view_name[,…n] |table_or_view_name.index_name[,…n]} 参数说明: index_name:要删除的索引名称。 table_or_view_name:与该索引关联的表或视图的名称。 DROP INDEX语句一次可以删除多个索引,但是该语句只能删除通过CREATE INDEX语句所建立的索引,而不能删除通过定义PRIMARY KEY或UNIQUE约束创建的索引。 【例 7-9】删除stu_info数据库中student表中的索引 IDX_sexmajor。 USE stu_info IF EXISTS (SELECT name FROM sysindexes WHERE name=IDX_sexmajor) DROP INDEX stu_info IDX_sexmajor 注释:在建立索引后,在系统表sysindexes中的name列会保存该索引的名称,通过搜索名称可以判断索引是否存在。 7.8 重建索引 在SQL Server中索引的数

文档评论(0)

1亿VIP精品文档

相关文档