Oracle之索引监控SQL2

本文提供了一系列SQL查询语句,用于检查数据库中不同类型的索引(包括位图、函数、全文、反向键索引等),并展示了如何了解这些索引所在的表、列及其状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值