[56040] in SAPr3-news
Re: Anzahl und Größe von DB Indices einer SAP Tabelle ermitteln
daemon@ATHENA.MIT.EDU (Christian Knappke)
Tue Nov 22 03:10:11 2005
To: sapr3-news@mit.edu
Date: Tue, 22 Nov 2005 08:07:12 +0000 (UTC)
From: Christian Knappke <chknews@gmx.net>
Message-ID: <Xns97165CC73D87CHZqjX8Z9@news.sap-ag.de>
From the keyboard of "Peter" <mail@peter-kunz.de>:
> Hallo zusammen,
>
> zur Optimierung eines Massenimports möchten wir die
> Sekundärindices auf DB Ebene löschen. Von Hand geht das relativ
> leicht (z.B. DB02),
Du meinst das Ermitteln der Indizes der betreffenden Tabelle/n.
> aber wir benötigen eine automatische Ermittlung aller
> vorhandenen Indices.
Das hängt vom Datenbanksystem (DBMS) ab. Im Prinzip gibt es bei
allen DBMS einen Systemkatalog, der alle Tabellen, Indizes, Views,
Synonyme und was nicht noch alles verzeichnet. Diese
Katalogtabellen können mittels SQL ausgewertet werden. Wenn alle
Indizes im DDIC definiert sind, dann reicht es, die Indexnamen zu
ermitteln und ein DROP INDEX davorzumalen und nach dem Import die
Indeizes mittels DDIC neu anzulegen. Dann brauchst Du dich nicht
um die Indexstruktur zu kümmern.
Wenn Du alles außerhalb des SAP-Systems per Script erledigen
möchtest:
DROP INDEX "tralala~001";
<Datenimport>
CREATE INDEX "tralala~001" ON tralala (mandt, belegnr);
dann musst Du natürlich die Indexstruktur ebenfalls ermitteln.
Informix und SAP DB/MaxDB haben Tools, die das Schema der DB oder
ausgewählter Tabellen in eine Datei schreiben (dbschema bzw.
loadercli). Daraus kannst Du dann die nötigen SQL-Kommandos
extrahieren.
Bei anderen Datenbanken gibt es evtl. ebenfalls Tools, frag' mal
Deinen DBA.
Wenn Du die Tabellen vorher droppen möchtest, weil Du vielleicht
den alten Inhalt vollständig ersetzen willst, dann musst Du auch
die abhängigen Views, Synonyme etc. neu aufbauen.
> Wer hat hier schon Erfahrung?
BTDT
HTH
Christian
--
#include <std_disclaimer.h>
/* The opinions stated above are my own and not
necessarily those of my employer. */