Mittwoch, 3. November 2010

Index-Komprimierung im SAP-Umfeld

Index-Komprimierung wird im SAP-Umfeld ab Oracle 10g unterstützt. Es können nur B*TREE-Indizes komprimiert werden, aber keine Bitmap-Indizes (die ja durch Verwendung von Bitmaps schon platzsparend angelegt sind). Beachten Sie auch Hinweis 1109743

Index-Komprimierung lohnt sich besonders dann, wenn es führende Index-Spalten gibt, die wenige Ausprägungen haben und für einen relativ großen Anteil der gesamten Index-Spalten-Länge verantwortlich sind. Die optimale Anzahl der zu komprimierenden Spalten kann standardmäßig gemäß Hinweis 1109743 ermittelt werden. Dieser Ansatz hat den Vorteil, dass er auf CBO-Statistiken basiert und daher ziemlich schnell ist und keine Sperren erfordert.

Alternativ kann in bestimmten Situationen auch ANALYZE INDEX VALIDATE STRUCTURE wie im folgenden beschrieben verwendet werden. Beachten Sie aber, dass VALIDATE STRUCTURE zu Sperren führt und daher nicht parallel zum Produktivbetrieb durchgeführt werden sollte. Außerdem kann diese Operation nicht parallelisiert werden, weshalb es zu langen Laufzeiten kommen kann:
ANALYZE INDEX "" VALIDATE STRUCTURE;

Anschließend kann der Tabelle INDEX_STATS die Komprierungsinformation entnommen werden, z.B.:
SELECT OPT_CMPR_COUNT, OPT_CMPR_PCTSAVE FROM INDEX_STATS;
OPT_CMPR_COUNT OPT_CMPR_PCTSAVE
-------------- ----------------
2 22

In diesem Fall schlägt Oracle eine Komprimierung der zwei führenden Indexspalten vor und erwartet dadurch eine Reduzierung der Netto-Indexdaten um 22 Prozent.

Mit aktuellen BRSPACE-Versionen können mit Hilfe der "-CBB"-Option ebenfalls INDEX REBUILDs mit integriertem COMPRESS durchgeführt werden. Beispiel für eine Komprimierung der ersten zwei Indexspalten:
brspace -f idrebuild -i INDEXNAME -CBB 2

Keine Kommentare:

Kommentar veröffentlichen

Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.