zoukankan      html  css  js  c++  java
  • PostgreSQL查看索引的使用情况

    --==========================================
    --查看索引的使用情况
    --索引在重建或删除新建时sys.dm_db_index_usage_stats中相关的数据会被清除
    --索引在重整是不会清除sys.dm_db_index_usage_stats的数据
    SELECT  DB_NAME(ixu.database_id) DataBase_Name ,
            OBJECT_NAME(ixu.object_id) Table_Name ,
            ix.name Index_Name ,
            ( SELECT    MAX(s.rows)
              FROM      sysindexes s
              WHERE     s.id = ixu.object_id
            ) AS Table_Rows ,
            STATS_DATE(ixu.object_id, ixu.index_id) AS statistic_time ,
            ixu.user_updates ,
            ixu.last_user_update ,
            ixu.last_user_seek ,
            ixu.user_seeks ,
            ixu.last_user_scan ,
            ixu.user_scans ,
            ixu.last_user_lookup ,
            ixu.user_lookups ,
            ixu.user_updates / ( ISNULL(ixu.user_seeks, 0) + ISNULL(ixu.user_scans,
                                                                  0) + 1 ) AS UseRate
    FROM    sys.dm_db_index_usage_stats ixu
            INNER JOIN sys.indexes ix
            ON ixu.object_id = ix.object_id
               AND ixu.index_id = ix.index_id
            INNER JOIN sys.objects ob
            ON ixu.object_id = ob.object_id
    WHERE   ob.type = 'U'
            AND ob.is_ms_shipped = 0
            AND ixu.database_id = DB_ID()
    --AND ix.object_id=OBJECT_ID('TableName')

    存放索引详细信息的表

    data_name=# d+ pg_stat_user_indexes;
               View "pg_catalog.pg_stat_user_indexes"
        Column     |  Type  | Modifiers | Storage | Description 
    ---------------+--------+-----------+---------+-------------
     relid         | oid |           | plain | 
     indexrelid    | oid |           | plain | 
     schemaname    | name |           | plain | 
     relname       | name |           | plain | 
     indexrelname  | name |           | plain | 
     idx_scan      | bigint |           | plain | 
     idx_tup_read  | bigint |           | plain | 
     idx_tup_fetch | bigint |           | plain | 
    View definition:
     SELECT pg_stat_all_indexes.relid,
        pg_stat_all_indexes.indexrelid,
        pg_stat_all_indexes.schemaname,
        pg_stat_all_indexes.relname,
        pg_stat_all_indexes.indexrelname,
        pg_stat_all_indexes.idx_scan,
        pg_stat_all_indexes.idx_tup_read,
        pg_stat_all_indexes.idx_tup_fetch
       FROM pg_stat_all_indexes
      WHERE (pg_stat_all_indexes.schemaname <> ALL (ARRAY['pg_catalog'::name, 'information_schema'::name])) AND pg_stat_all_indexes.schemaname !~ '^pg_toast'::text;

    通过这个表查看某个表的索引使用情况易如反掌了。

    示例一、查看所有表的索引的使用情况

    select relname, indexrelname, idx_scan, idx_tup_read, idx_tup_fetch from pg_stat_user_indexes order by idx_scan asc, idx_tup_read asc, idx_tup_fetch asc;

    示例二、查看某个表的索引使用情况

    select relname, indexrelname, idx_scan, idx_tup_read, idx_tup_fetch from pg_stat_user_indexes where relname = table_name order by idx_scan asc, idx_tup_read asc, idx_tup_fetch asc;
  • 相关阅读:
    Asp.Net Web API 2第一课——入门
    Servlet之ServletContext获取web上下文路径、全局参数、和Attribute(域)
    jsp 获取服务器ip 以及端口号
    对String值不可变的理解以及String类型的引用传递问题
    关于 SAXParseException Content is not allowed in Prolog (前言中不允许有内容)
    用tomcat插件 在Eclipse 中配置Tomcat项目
    docker保存日志文件到本地
    java split函数结尾空字符串被丢弃的问题
    byte类型的127+1=-128?
    java 中 Integer 传参方式的问题
  • 原文地址:https://www.cnblogs.com/ryanzheng/p/9756329.html
Copyright © 2011-2022 走看看