如何在sql语句中显示Oracle索引
Posted
技术标签:
【中文标题】如何在sql语句中显示Oracle索引【英文标题】:How to show Oracle index was used in sql statement 【发布时间】:2014-07-28 18:29:24 【问题描述】:我有一个关于 Oracle 索引的问题。 为部门表的部门名称属性创建索引。 证明该索引将在下面的 SQL 语句中使用。 select * from department_name='COMPUTER'
我创建了索引,但我不确定如何证明它,因为在 SQL 语句中看不到索引。
在部门(部门名称)上创建索引 dept.idx;
从 department_name='COMPUTER' 的部门中选择 *
如何证明?
【问题讨论】:
【参考方案1】:使用解释计划,它会告诉你数据库计划使用什么来运行查询,
--Generate explain plan.
EXPLAIN PLAN FOR
select * from departments where department_name='COMPUTER';
--Display explain plan.
select * from table(dbms_xplan.display);
【讨论】:
谢谢@jonearles 我刚回来添加显示部分!【参考方案2】:ALTER INDEX dept.idx MONITORING USAGE;
select * from departments where department_name='COMPUTER'
SELECT index_name,
table_name,
monitoring,
used,
start_monitoring,
end_monitoring
FROM v$object_usage
WHERE index_name = 'IDX'
ORDER BY index_name;
【讨论】:
以上是关于如何在sql语句中显示Oracle索引的主要内容,如果未能解决你的问题,请参考以下文章