Index-Tuning
如何確定索引在外鍵子端的功效
給定兩個表之間的父子關係,例如:
table ORDER order_id PK (already indexed) order_name table ITEM item_id PK (already indexed) order_id (FK to ORDER.order_id) amount
我想確定在
ITEM.order_id
.我應該收集哪些資訊來幫助我確定這一點?(例如我的應用程序針對這些表執行的查詢的結構等)我確實知道我的應用程序會定期執行在這兩個表之間執行簡單內部連接的查詢。對於這種情況,是否有任何適用於索引調整的一般原則?
我正在使用 Oracle 11g。
基本上在三種情況下,除了 FK/PK 關係中的父級之外,您還希望索引子級:
- 如果您曾經
ITEM
根據order_id
(顯然!)- 如果您曾經在 JOIN 上執行查詢
ITEM
並ORDERS
使用過濾器ORDERS
- 與 2 一樣,但帶有過濾器的過濾器的
ITEM
選擇性低於打開的過濾器ORDERS
在這兩種情況下,
ITEM
都將受益於成為連接的內部部分,並且來自子節點的索引將有助於支持循環連接策略。