索引是提高数据查询的有效的方法,但是也是最难全面掌握的技术,恰当的索引可以千倍提高效率,无效的索引浪费数据库空间,甚至降低查询的性能。在建立索引后要根据实际查询需求,对索引进行分析,判断其是否能够有效提高数据的查询性能。索引在创建之后,由于数据的增加、删除、更新等操作使得索引数据变得支离破碎,因此为了提高系统的性能,必须对索引进行维护。
1、分析索引
SQL Server 提供分析索引和查询性能的方法,这介绍最常用的SHOWPLAN_ALL和STATISTICS IO两种命令。
(1)SHOWPLAN_ALL命令,示全部查询计划,即在查询过程中连接表所采用的每个步骤,以及选择哪个索引,从而达到帮助用户分析有哪些索引被系统采用目的。
SHOWPLAN_ALL的基本语法如下
SET SHOWPLAN_ALL {ON|OFF}
SET SHOWPLAN_ALL的设置是在执行或运行时设置,而不是在分析时设置。当 SET SHOWPLAN_ALL 为 ON 时,SQL Server 返回每个语句的执行信息但不执行语句,而且 Transact-SQL 语句将不执行。将该选项设置为 ON 后,将返回有关所有后续 Transact-SQL 语句的信息,直到将该选项设置为 OFF 为止。例如,如果在 SET SHOWPLAN_ALL 为 ON 时执行 CREATE TABLE 语句,则 SQL Server 从涉及同一个表的后续 SELECT 语句返回错误信息;指定的表不存在。因此,对该表的后续引用将失败。当 SET SHOWPLAN_ALL 为 OFF 时,SQL Server 执行语句但不生成报表。【例】