WEB开发网
开发学院数据库MSSQL Server 使用SQL Server动态管理视图确认缺失索引 阅读

使用SQL Server动态管理视图确认缺失索引

 2008-12-31 10:17:11 来源:WEB开发网   
核心提示: SELECT * FROM sys.dm_db_missing_index_groups图三从上面查询得到的结果基本上将用于从sys.dm_db_missing_index_columns函数中获得数据,index_handle值被传递到下一个查询,使用SQL Server动态管理视图确认

SELECT * FROM sys.dm_db_missing_index_groups

使用SQL Server动态管理视图确认缺失索引

图三

从上面查询得到的结果基本上将用于从sys.dm_db_missing_index_columns函数中获得数据。index_handle值被传递到下一个查询,如下图所示。

SELECT * FROM sys.dm_db_missing_index_columns(1)

使用SQL Server动态管理视图确认缺失索引

图四

要得到在一个结果集显示的所有数据,下面从SQL Server 2005联机帮助中得到的查询将为我们提供这些数据。

   SELECT mig.*, statement AS table_name,
  column_id, column_name, column_usage
  FROM sys.dm_db_missing_index_details AS mid
  CROSS APPLY sys.dm_db_missing_index_columns (mid.index_handle)
  INNER JOIN sys.dm_db_missing_index_groups AS mig ON mig.index_handle = mid.index_handle
  ORDER BY mig.index_group_handle, mig.index_handle, column_id;

使用SQL Server动态管理视图确认缺失索引

图五

总结

n 基于这个例子我们可以看到,我们可以在表AdventureWorks.Person.Address的字段StateProvinceID上创建一个新索引,也可以包括columns City和PostalCode。

n 要注意的是当你在一张表中增加或者删除索引时,缺失索引的所有统计数据将在这张表中完全清除。

n 尽管这可能不是完美的,也存在一些局限,但是这至少让我们了解了之前使用SQL Server旧版本时从来不知道的信息。

上一页  1 2 3 

Tags:使用 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接