如何查找特定索引的引用?

时间:2018-03-08 10:51:30

标签: sql oracle indexing

如何查找特定索引的所有数据库引用(例如az INDEX优化器提示)?

(我计划删除一个索引,并且需要知道它是否有任何相关的依赖对象。)

2 个答案:

答案 0 :(得分:2)

特别是,此sql_text的此sql列可能对单个索引有所帮助:

select p.sql_id, q.sql_text, p.access_predicates
  from gv$sql_plan p
 inner join gv$sql q on ( p.sql_id = q.sql_id )  
 where p.object_name = upper('&i_index_name') 
 group by p.access_predicates, q.sql_text, p.sql_id
 order by p.access_predicates, q.sql_text, p.sql_id;

答案 1 :(得分:1)

索引没有任何依赖关系。索引基于表和列。如果您想知道任何查询是否使用了索引,您可以使用Index Monitoring功能。

您可以通过

启用/禁用监控
dba_object_usage

然后,您可以查看视图{{1}}中的索引使用情况(适用于12.1及更低版本)或{{1}}