Oracle之索引监控SQL2

来源:互联网 发布:继续教育网络多少钱 编辑:程序博客网 时间:2024/05/20 02:26

1.不该建位图索引的列(求得之不重复数值所占总记录比例)

set linesize 1000


select t1.index_name,
       t1.table_name,
       t2.column_name,
       t2.column_position,
       t1.distinct_keys,
       t1.num_rows,
       t1.distinct_keys / t1.num_rows
  from user_indexes t1, user_ind_columns t2
 where t1.index_name = t2.INDEX_NAME
   and t1.index_type = 'BITMAP'
   and t1.distinct_keys / t1.num_rows >= 0.1;
   

2.--当前系统有哪些函数索引, 建在哪个表的哪个列上,状态如何。


select t1.table_name,
       t1.index_name,
       t2.COLUMN_NAME,
       t2.COLUMN_POSITION,
       t1.status,
       t1.funcidx_status
  from user_indexes t1, user_ind_columns t2
 where t1.index_name = t2.INDEX_NAME

   and t1.index_type = 'FUNCTION-BASED NORMAL';


3.--当前系统有哪些全文索引, 建在哪个表的哪个列上,状态如何。

select t1.table_name,
       t1.index_name,
       t1.parameters,
       t2.column_name,
       t2.column_position,
       t1.status,
       t1.domidx_status
  from user_indexes t1, user_ind_columns t2
 where t1.index_name = t2.INDEX_NAME
   and t1.index_type = 'DOMAIN';


4.--当前系统有哪些位图索引, 建在哪个表的哪个列上,状态如何。

select t1.table_name,
       t1.index_name,
       t2.COLUMN_NAME,
       t2.COLUMN_POSITION,
       t1.status
  from user_indexes t1, user_ind_columns t2
 where t1.index_name = t2.INDEX_NAME
   and t1.index_type = 'BITMAP';


5.--当前系统有哪些反向键索引, 建在哪个表的哪个列上,状态如何。


select t1.table_name,
       t1.index_name,
       t2.COLUMN_NAME,
       t2.COLUMN_POSITION,
       t1.status
  from user_indexes t1, user_ind_columns t2
 where t1.index_name = t2.INDEX_NAME
   and t1.index_type = 'NORMAL/REV';

原创粉丝点击