代码之家  ›  专栏  ›  技术社区  ›  Randy Minder

SQL Server-确定缺少的索引-DMV

  •  1
  • Randy Minder  · 技术社区  · 15 年前

    我正在使用以下查询来确定缺少的索引:

    select 
        db_name(d.database_id) as DatabaseName, 
        object_name(d.object_id) TableName, 
        d.index_handle as IndexHandle,
        d.equality_columns as EqualityColumns, 
        d.inequality_columns as InequalityColumns, 
        d.included_columns as IncludedColumns, 
        d.statement as Object, 
        gs.user_seeks as PossibleUserSeeks,
        gs.user_scans as PossibleUserScans,
        gs.last_user_seek as LastPossibleUserSeek,
        gs.last_user_scan as LastPossibleUserScan,
        gs.system_seeks as PossibleSystemSeeks,
        gs.system_scans as PossibleSystemScans
    from  
        sys.dm_db_missing_index_groups g
        join sys.dm_db_missing_index_group_stats gs on gs.group_handle = g.index_group_handle
        join sys.dm_db_missing_index_details d on g.index_handle = d.index_handle
    where  
        d.database_id =  d.database_id and 
        d.object_id =  d.object_id And
        DB_NAME(d.database_id) = 'MESProduction'
    

    我的问题是 'd.index_handle' 是的。MSDN对该列的描述如下: Identifies a particular missing index. The identifier is unique across the server. index_handle is the key of this table. 如果索引丢失,如何识别?当它说“这张桌子的钥匙”是什么意思?

    非常感谢。

    0 回复  |  直到 15 年前