Performance

可以為 DB2 中的特定查詢停用索引嗎?

  • December 4, 2019

我正在嘗試評估新索引對針對 DB2 11.1 數據庫執行的各種查詢的影響。

能夠強制優化器在逐個查詢的基礎上忽略新索引會很方便。Oracle 會讓我通過優化器提示來做到這一點,例如NO_INDEX(EMPLOYEES EMPLOYEE_PK).

便利性來自於在比較它們對查詢的影響時不必刪除和重新創建替代索引,不需要您必須記住恢復的“有狀態”配置更改,以及避免干擾其他使用者的查詢。

DB2 中有類似的機制嗎?

遺憾的是,沒有與 Db2 優化指南等效的訪問請求。

您可以為您的表指定要使用的所需索引或其他訪問方法(TBSCAN例如)。但不是“不使用某些特定索引”的準則。

您是否查看過 Db2 優化器指南?

優化準則是您創建的規則,用於控制在查詢編譯的優化階段做出的決策。這些指南由優化配置文件記錄和使用。指南可以在全域級別或語句級別編寫。許多查詢編譯器決策可以通過創建優化指南來控制。

https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.admin.perf.doc/doc/c0070117.html

引用自:https://dba.stackexchange.com/questions/254399