需要找到自从最后一次sql server 2012 启动以来哪些索引是没有被任何查询使用过

 我来答
哎呀……18a91a6
2016-11-25 · TA获得超过4.2万个赞
知道大有可为答主
回答量:7246
采纳率:76%
帮助的人:3006万
展开全部
/*
以下例子的查询提供一些关于增、删、改操作的有用信息的关键列:
*/
SELECT OBJECT_NAME(A.[OBJECT_ID]) AS [OBJECT NAME], 液和漏
  闹烂     I.[NAME] AS [INDEX NAME], 
       A.LEAF_INSERT_COUNT, 
       A.LEAF_UPDATE_COUNT, 
       A.LEAF_DELETE_COUNT 
FROM   SYS.DM_DB_INDEX_OPERATIONAL_STATS (NULL,NULL,NULL,NULL ) A 
       INNER JOIN SYS.INDEXES AS I 
         ON I.[OBJECT_ID] = A.[OBJECT_ID] 
            AND I.INDEX_ID = A.INDEX_ID 
WHERE  OBJECTPROPERTY(A.[OBJECT_ID],'IsUserTable') = 1

/*
Sys.dm_db_index_usage_stats:
这个视图提供关于你的索引的访问方法总览情况,下面的列在检查问题是比较有用:
user_seeks – 索引查找的次数。
user_scans- 索引扫描的次数。
user_lookups – 书签查找的次数。
user_updates – 增删改操作的次数。
*/
SELECT   OBJECT_NAME(S.[OBJECT_ID]) AS [OBJECT NAME], 
         I.[NAME] AS [INDEX NAME], 
         USER_SEEKS,  
         USER_SCANS, 
         USER_LOOKUPS,
         USER_UPDATES 
FROM     SYS.DM_DB_INDEX_USAGE_STATS AS S 
         INNER JOIN SYS.INDEXES AS I 
           ON I.[OBJECT_ID] = S.[OBJECT_ID]
              AND I.INDEX_ID = S.INDEX_ID 
WHERE    OBJECTPROPERTY(S.[OBJECT_ID],'IsUserTable') = 1


 你要查哪些没用过,那就将

         USER_SEEKS,  
         USER_SCANS, 
         USER_LOOKUPS,
         USER_UPDATES

加起来。


我估计,全都会被用过,嘿嘿,除非这个表就没人用到过。

至于去清理棚桥,怕是也是一件让人受不了的累活,算了吧。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式