在Oracle中,可以通过以下几种方式来查看SQL是否使用了索引:
ALTER SESSION SET SQL_TRACE = TRUE;
SQL Trace的输出可以通过查看trace文件来分析。
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('<sql_id>'));
通过查看执行计划,可以判断SQL语句是否使用了索引。
/*+ INDEX(table_name index_name) */
如果SQL语句使用了这个提示,那么可以确定该SQL语句使用了指定的索引。
SELECT * FROM V$SQL_PLAN;
SELECT * FROM V$SQL_PLAN_STATISTICS;
SELECT * FROM V$SQLSTATS;
通过查看这些DPV的结果,可以判断SQL语句是否使用了索引。