Dire che ho una tabella con una chiave surrogata auto-incrementante.È buona norma usare indici invertiti su chiavi surrogate? (Oracle)
Questo sarebbe un buon caso per l'utilizzo di un indice inverso?
Ho ragione nel dire:
inserimenti (in indice) sarebbe più veloce .. dal momento che i nuovi valori sarebbero stati inseriti in modo casuale, invece di andando sempre più a destra del foglio (in costante forzatura riequilibra).
Le ricerche dell'indice sarebbero leggermente più lente .. poiché il db avrebbe dovuto impiegare (un po ') tempo a rovesciare l'indice.
Poiché è una chiave surrogata. Non avrei davvero bisogno dell'abilità di scansione di intervallo (che non è possibile fare con gli indici inversi).
(Nota, non sto usando Oracle RAC)
In realtà, nella mia esperienza, gli indici di chiavi inverse non sono poi così grandi in RAC. È la mia esperienza che stai molto meglio con gli indici hash partizionati (dove il numero di partizioni è il più piccolo potere di 2 maggiore o uguale al numero di nodi RAC). Non riesco a pensare a casi in cui abbia senso avere indici di chiavi inversi. Si noti che è possibile avere hash indici partizionati anche su una tabella non partizionata. –
@Mark - Modificato la mia risposta per incorporare questo, grazie. –
Buon punto sul requisito di licenza dell'opzione di partizionamento. Poiché abbiamo questa opzione concessa in licenza praticamente in tutto il nostro ambiente, trascuro sempre di considerarlo. –