27. januar 2006 - 13:43Der er
3 kommentarer og 1 løsning
Bitmap indexer
Hej
Jeg har et datawarehouse, som lavet en opdatering hver nat via nogle mappings. Derudover er der 2 bitmap indexer på en partitioneret tabel, som indeholder over 1 mia. rækker. Mit problem er, at jeg dannede indexerne igår og da fyldte de 1,2 GB. Efter nattens opdatering fylder de nu næsten 60 GB.
Er der noget speciel grund til det?? Create scripts'ne kommer her:
CREATE BITMAP INDEX DW.USAGE_FACT_BI_PRODUCT_USAGE_ID ON DW.USAGE_FACT(PRODUCT_USAGE_ID) LOCAL PCTFREE 1 STORAGE ( INITIAL 1 M NEXT 1 M) tablespace indx nologging
Det andet bliver dannet med:
CREATE BITMAP INDEX DW.USAGE_FACT_BI_DAYS_DAY ON DW.USAGE_FACT(DAYS_DAY) LOCAL STORAGE ( INITIAL 1 M NEXT 1 M)
Håber i kan se at der er et eller andet galt. Kan det være fordi indexerne er dannet med 1 PCTFREE??
Det er helt normalt !!! Især i et datawarehouse hvor du laver en masse inserts/updates/deletes med mange commits. Problemet er at dit bitmap index fyldes med oplysninger om deleted/updated rækker.
Nem workaround er at droppe eller disable indexet inden du starter din batch og create/rebuilde det igen bagefter. Eller evt sørge for at du ikke commiter så ofte -altså lave store bulk inserts.
Pas også på med bitmapped indexer hvis du har andre opdateringer end dit store natlige batchjob. Låsninger fungere helt anderledes i forbindelse med DML på bitmapped indexer.
Mine indexer bliver på ca 60GB så det er fint nok. Min frygt var, hvis tablespacet lige pludselig fortsatte opad.
Takker for hints.
Lige en sidste ting. Hvordan kan jeg disable et index??
Mvh Lars
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.