Hibernate Performance flush v verpflichten

Im erstellen einer hibernate-Komponente für die Interaktion mit großen eingehenden Daten bestehen, beide speichern(erstellen) und aktualisieren Sie die Daten mit einem Volumen in Millionen von Zeilen.

Ich bin mir bewusst, wie sich die Abweichungen um flush-v verpflichten, zum Beispiel flush-Synchronisation "dirty" - Daten in die persistente zugrunde liegenden Daten, und das flush ermöglicht die Synchronisation mit den zugrunde liegenden persistente Daten, ohne tatsächlich zu Begehen, so dass die Transaktion ein Rollback ausgeführt werden kann, wenn erforderlich. Commit im wesentlichen verpflichtet sämtliche persistente Daten in der Datenbank.

Im erstellen einer hibernate-Komponente für die Interaktion mit großen eingehenden Daten bestehen, beide speichern(erstellen) und aktualisieren Sie die Daten mit einem Volumen in Millionen von Zeilen.

Ich bin mir bewusst, wie sich die Abweichungen um flush-v verpflichten, zum Beispiel flush-Synchronisation "dirty" - Daten in die persistente zugrunde liegenden Daten, und das flush ermöglicht die Synchronisation mit den zugrunde liegenden persistente Daten, ohne tatsächlich zu Begehen, so dass die Transaktion ein Rollback ausgeführt werden kann, wenn erforderlich. Commit im wesentlichen verpflichtet sämtliche persistente Daten in der Datenbank.

Was ist eine angemessene Größe, eine batch einfügen? 50 der max Betrag für eine angemessene Leistung so etwas wie:

for (i < 1000000)
    if(i % 50 ) {
        session.flush()
    }

Ich sammeln Sie 50 sollte dem Wert entsprechen, der in der hibernate.jdbc.batch_size 50

InformationsquelleAutor paul_oshea | 2011-04-02
Schreibe einen Kommentar