programmatische Table- und Index-Statistikupdates (via JDBC)

programmatische Table- und Index-Statistikupdates (via JDBC)

am 06.12.2007 13:10:20 von Wisser

Hallo,

ich habe eine DB-Anwendung, bei der eine anfangs leere Tabelle sehr
schnell mittels zahlreicher Insert-Statements mit großen Datenmengen
gefüllt wird. Aus Performanzgründen würde ich gerne die Statistik
dieser Tabelle während dieses Prozesses möglichst up-to-date halten.
Wie kann ich ein Update für eine spezielle MySQL-Tabelle
programmatisch (via JDBC) anstossen?

viele Grüße,
Ralf

Re: programmatische Table- und Index-Statistikupdates (via JDBC)

am 06.12.2007 14:22:12 von Axel Schwenke

Wisser wrote:
>
> ich habe eine DB-Anwendung, bei der eine anfangs leere Tabelle sehr
> schnell mittels zahlreicher Insert-Statements mit großen Datenmengen
> gefüllt wird. Aus Performanzgründen würde ich gerne die Statistik
> dieser Tabelle während dieses Prozesses möglichst up-to-date halten.
> Wie kann ich ein Update für eine spezielle MySQL-Tabelle
> programmatisch (via JDBC) anstossen?

Du möchtest die Performance minimieren? Oder warum sonst willst
du *während* eines Bulk-Loads Tabellenstatistiken updaten?
Normalerweise macht man das einmal *nach* dem Load.

Aber sei es drum. Das Manual erklärt dir alle Nötige unter dem
Stichwort ANALYZE TABLE.


XL

Re: programmatische Table- und Index-Statistikupdates (via JDBC)

am 06.12.2007 16:12:42 von Wisser

On 6 Dez., 14:22, Axel Schwenke wrote:
> Wisser wrote:
>
> > ich habe eine DB-Anwendung, bei der eine anfangs leere Tabelle sehr
> > schnell mittels zahlreicher Insert-Statements mit großen Datenmengen
> > gefüllt wird. Aus Performanzgründen würde ich gerne die Statistik
> > dieser Tabelle während dieses Prozesses möglichst up-to-date halten.=

> > Wie kann ich ein Update für eine spezielle MySQL-Tabelle
> > programmatisch (via JDBC) anstossen?
>
> Du möchtest die Performance minimieren? Oder warum sonst willst
> du *während* eines Bulk-Loads Tabellenstatistiken updaten?

Es handelt sich bei den Inserts nicht um ein Bulk-Load. Vielmehr wird
während des Füllens der Tabelle bereits auf den Inhalt der Tabelle
Bezug genommen; daher sollte die Tabellenstatistik stets uptodate
sein.

Es geht letztlich um die Erzeugung der transitiven Hülle eines Graphen
in der DB, genaueres kann man hier nachlesen: http://jailer.sourceforge.net/=
design.html

> Normalerweise macht man das einmal *nach* dem Load.

klar.

>
> Aber sei es drum. Das Manual erklärt dir alle Nötige unter dem
> Stichwort ANALYZE TABLE.
>

Vielen Dank für den Hinweis, werde ich mir anschauen. Kann man das
ANALYSE-Statement auch als Jdbc-Statement ausführen?

Ralf