CURRENT EXPLAIN MODE 特別暫存器
CURRENT EXPLAIN MODE 特別暫存器保留 VARCHAR (254) 值,該值可控制 Explain 機能與合格動態 SQL 陳述式相關的行為。
CURRENT EXPLAIN MODE 特別暫存器保留 VARCHAR (254) 值,該值可控制 Explain 機能與合格動態 SQL 陳述式相關的行為。 此機能會產生「解譯」資訊,並將其插入「解譯」表格中。 此資訊不包括 Explain Snapshot。 可能的值為 YES、EXPLAIN、NO、REOPT、RECOMMEND INDEXES 及 EVALUATE INDEXES。 (若為靜態 SQL , EXPLAIN 連結選項會提供相同的控制項。 在 PREP 和 BIND 指令的情況下, EXPLAIN 選項值為: YES、 NO和 ALL。
- YES
- 啟用「解譯」機能,並在編譯陳述式時擷取動態 SQL 陳述式的「解譯」資訊。
- EXPLAIN
- 啟用機能,但不執行動態陳述式。
- NO
- 停用「解譯」機能。
- REOPT
- 啟用「解譯」機能,並只在使用輸入變數 (主變數、特別暫存器、廣域變數或參數標記) 的實際值重新最佳化陳述式時,才會擷取動態 (或漸進式連結) SQL 陳述式的「解譯」資訊。
- 建議索引
- 針對每一個動態查詢建議一組索引。 將一組索引移入 ADVISE_INDEX 表格。
- 評估索引
- 可讓 SQL 編譯器評估動態查詢的虛擬建議索引。 在此解譯模式中執行的查詢將使用基於虛擬索引的虛構統計資料進行編譯及最佳化。 未執行陳述式。 如果 USE_INDEX 直欄包含
Y
,則會從 ADVISE_INDEX 表格讀取要評估的索引。 您也可以將 USE_INDEX 直欄設為I
,並將 EXISTS 直欄設為Y
,以忽略現有的非唯一索引。 如果提供 USE_INDEX=I
及 EXISTS=N
的組合,則查詢的索引評估會正常繼續進行,但不會忽略有問題的索引。
起始值為 NO。 您可以呼叫 SET CURRENT EXPLAIN MODE 陳述式來變更此值。
呼叫「解譯」機能時, CURRENT EXPLAIN MODE 及 CURRENT EXPLAIN SNAPSHOT 特別暫存器值會互動。 CURRENT EXPLAIN MODE 特別暫存器也會與 EXPLAIN 連結選項互動。 建議索引及評估索引只能針對 CURRENT EXPLAIN MODE 暫存器設定,且必須使用 SET CURRENT EXPLAIN MODE 陳述式設定。
範例: 將主變數 EXPL_MODE (VARCHAR (254)) 設為目前在 CURRENT EXPLAIN MODE 特別暫存器中的值。
VALUES CURRENT EXPLAIN MODE
INTO :EXPL_MODE