要檢查索引是否生效,可以使用以下方法:
1. 使用EXPLAIN PLAN語句:在PL/SQL中,可以使用EXPLAIN PLAN語句來檢查查詢的執(zhí)行計(jì)劃。執(zhí)行計(jì)劃會(huì)顯示查詢使用的索引和其他優(yōu)化技術(shù)的詳細(xì)信息。通過檢查執(zhí)行計(jì)劃,可以確定索引是否被使用。以下是使用EXPLAIN PLAN語句的示例:
EXPLAIN PLAN FOR SELECT * FROM your_table WHERE your_column = 'your_value';
執(zhí)行完上述語句后,可以通過查詢PLAN_TABLE表來獲取執(zhí)行計(jì)劃:
SELECT * FROM PLAN_TABLE;
在結(jié)果中查找與索引相關(guān)的信息,例如索引名稱、索引類型等。
2. 使用DBMS_XPLAN.DISPLAY過程:DBMS_XPLAN.DISPLAY過程是用于格式化和顯示執(zhí)行計(jì)劃的工具??梢允褂迷撨^程來檢查執(zhí)行計(jì)劃中的索引信息。以下是使用DBMS_XPLAN.DISPLAY過程的示例:
SET SERVEROUTPUT ON;DECLARE
plan_table dbms_xplan.table_type;
BEGIN
dbms_xplan.clear();
dbms_xplan.display(plan_table, 'PLAN_TABLE', 'ALL');
END;
/
執(zhí)行完上述代碼后,可以在輸出中查找與索引相關(guān)的信息,例如索引名稱、索引類型等。
3. 使用V$SQL_PLAN視圖:V$SQL_PLAN視圖存儲(chǔ)了最近執(zhí)行的SQL語句的執(zhí)行計(jì)劃信息。可以查詢該視圖來檢查索引是否被使用。以下是查詢V$SQL_PLAN視圖的示例:
SELECT * FROM V$SQL_PLAN WHERE SQL_ID = 'your_sql_id';
通過查詢結(jié)果可以查看是否使用了索引。
以上是幾種常用的方法來檢查索引是否生效。根據(jù)具體情況選擇合適的方法來查看索引的使用情況。