programmatische Table- und Index-Statistikupdates (via JDBC)

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
Wisser [ Do, 06 Dezember 2007 13:10 ] [ ID #1887021 ]

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

Wisser <RalfWisser [at] gmx.de> 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
Axel Schwenke [ Do, 06 Dezember 2007 14:22 ] [ ID #1887022 ]

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

On 6 Dez., 14:22, Axel Schwenke <axel.schwe... [at] gmx.de> wrote:
> Wisser <RalfWis... [at] gmx.de> 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
Wisser [ Do, 06 Dezember 2007 16:12 ] [ ID #1887025 ]
Datenbanken » de.comp.datenbanken.mysql » programmatische Table- und Index-Statistikupdates (via JDBC)

Vorheriges Thema: select truncated value from text field
Nächstes Thema: Wie vergleiche ich eine $_SESSION Variable