zoukankan      html  css  js  c++  java
  • sqlserver2008 R2中查找未使用过的索引

    转自:http://blog.csdn.net/yangzhawen/article/details/7247393

    sqlserver2008 R2中查找未使用过的索引: 

    SELECT TOP 1000
    o.name AS 表名
    , i.name AS 索引名
    , i.index_id AS 索引id
    , dm_ius.user_seeks AS 搜索次数
    , dm_ius.user_scans AS 扫描次数
    , dm_ius.user_lookups AS 查找次数
    , dm_ius.user_updates AS 更新次数
    , p.TableRows as 表行数
    , 'DROP INDEX ' + QUOTENAME(i.name)
    + ' ON ' + QUOTENAME(s.name) + '.' + QUOTENAME(OBJECT_NAME(dm_ius.OBJECT_ID)) AS '删除语句'
    FROM sys.dm_db_index_usage_stats dm_ius
    INNER JOIN sys.indexes i ON i.index_id = dm_ius.index_id AND dm_ius.OBJECT_ID = i.OBJECT_ID
    INNER JOIN sys.objects o ON dm_ius.OBJECT_ID = o.OBJECT_ID
    INNER JOIN sys.schemas s ON o.schema_id = s.schema_id
    INNER JOIN (SELECT SUM(p.rows) TableRows, p.index_id, p.OBJECT_ID
    FROM sys.partitions p GROUP BY p.index_id, p.OBJECT_ID) p
    ON p.index_id = dm_ius.index_id AND dm_ius.OBJECT_ID = p.OBJECT_ID
    WHERE OBJECTPROPERTY(dm_ius.OBJECT_ID,'IsUserTable') = 1
    AND dm_ius.database_id = DB_ID()
    AND i.type_desc = 'nonclustered'
    AND i.is_primary_key = 0
    AND i.is_unique_constraint = 0
    and o.name='tblorders'   --根据实际修改表名
    ORDER BY (dm_ius.user_seeks + dm_ius.user_scans + dm_ius.user_lookups) ASC

    --结果处理:

    user_updates很大,而发现user_seeks和user_scans很少或者就是0,那就说明该索引一直在更新,
    但是从来不被使用,仅仅创建和修改,没有为查询提供任何帮助,就可以考虑删除了

  • 相关阅读:
    AUTOSAR-文档中所使用的UML文件
    开心一下-实现基于Java一个中文编程语言
    HDU 1026 Ignatius and the Princess I
    HDU 2553 (状压) N皇后问题 (2)
    UVa 11825 (状压DP) Hackers' Crackdown
    UVa 10891 (博弈+DP) Game of Sum
    LA 2965 Jurassic Remains
    HDU 2126 (背包方法数) Buy the souvenirs
    POJ 3984 迷宫问题
    POJ 3287 (基础BFS) Catch That Cow
  • 原文地址:https://www.cnblogs.com/davidhou/p/5268041.html
Copyright © 2011-2022 走看看