Caricamento della tabella tramite Partition Exchange (Oracle 10g)
-
03-07-2019 - |
Domanda
Ho alcune domande sull'ottimizzazione di questo tipo di carico.
Uno crea una nuova tabella di dati da caricare in una tabella partizionata e quindi crea gli indici su questa nuova tabella.
-
Dovresti costruire l'indice con l'opzione COMPUTE STATISTICS o utilizzare l'opzione Cascade di DBMS_Stats?
-
Dovresti raccogliere le statistiche sul tavolo prima dello scambio o sulla partizione dopo lo scambio?
-
Se lo fai dopo lo scambio e specifichi il nome della partizione nell'elenco dei parametri, quale interazione ha il parametro granularity? Ad esempio, se specifico un nome di partizione e quindi imposto la granularità su "GLOBAL AND PARTITION", tutto ciò fa Global? Fa solo quell'unica partizione?
Soluzione
Dovresti costruire l'indice con l'opzione COMPUTE STATISTICS o utilizzare l'opzione Cascade di DBMS_Stats?
Se si tratta di un data warehouse, considera innanzitutto di non raccogliere affatto statistiche e di utilizzare il campionamento dinamico. In secondo luogo, se si raccolgono le statistiche, utilizzare le statistiche di calcolo sull'indice.
Dovresti raccogliere le statistiche sul tavolo prima dello scambio o sulla partizione dopo lo scambio?
Raccogli le statistiche sulla tabella new-data prima dello scambio per ottenere statistiche sulla partizione sui nuovi dati - raccogli successivamente le statistiche sulla tabella partizionata per raccogliere le statistiche della tabella
Se lo fai dopo lo scambio e specifichi il nome della partizione nell'elenco dei parametri, quale interazione ha il parametro granularity? Ad esempio, se specifico un nome di partizione e quindi imposto la granularità su "GLOBAL AND PARTITION", tutto ciò fa Global? Fa solo quella partizione?
Vedi sopra.
Seriamente, non dare alcuna possibilità a statistiche e campionamenti dinamici.
Altri suggerimenti
DBMS_STATS
è considerato il modo corretto di calcolare le statistiche per questa versione. Costruire l'indice conCOMPUTE STATISTICS
è fattibile, ma di solito si desidera calcolare tutte le statistiche contemporaneamente e scattare istantanee.-
Vuoi raccogliere le statistiche dopo lo scambio. In questo modo l'ottimizzatore farà la migliore ipotesi per l'esecuzione di query utilizzando i dati di tali partizioni.
-
Perché dovresti mettere entrambi?