在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語句是否使用了索引。