zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

分享两个实用脚本 一键查看索引历史使用情况

2023-03-14 22:24:23 时间

假设这么一个场景,有一张表建了很多索引,我们可以怎么通过观察索引历史使用记录,来看是不是可以删除一些多余索引呢?下面介绍两个实用的脚本:

分享两个实用脚本--一键查看索引历史使用情况

查看当前索引使用情况

  1. SELECT p.object_name, p.operation, p.options, COUNT(1) 
  2.  FROM v$sql_plan p, v$sql s 
  3.  WHERE p.object_owner <> 'SYS' 
  4.  AND p.OBJECT_NAME in 
  5.  (select index_name 
  6.  from dba_indexes 
  7.  where table_name = 'S_SHIP_UNIT_LINE'
  8.  AND p.sql_id = s.sql_id 
  9.  GROUP BY p.object_name, p.operation, p.options 
  10.  ORDER BY 1, 2, 3; 

分享两个实用脚本--一键查看索引历史使用情况

 

查看历史索引使用情况

  1. SELECT p.object_name, p.operation, p.options, COUNT(1) 
  2.  FROM dba_hist_sql_plan p, dba_hist_sqlstat s 
  3.  WHERE p.object_owner <> 'SYS' 
  4.  AND p.object_name in 
  5.  (select index_name 
  6.  from dba_indexes 
  7.  where table_name = 'S_SHIP_UNIT_LINE'
  8.  AND p.sql_id = s.sql_id 
  9.  GROUP BY p.object_name, p.operation, p.options 
  10.  ORDER BY 1, 2, 3; 

分享两个实用脚本--一键查看索引历史使用情况