sql >> Database teknologi >  >> RDS >> PostgreSQL

dvale indsæt batch med partitioneret postgresql

Du vil måske prøve at bruge en brugerdefineret Batcher ved at indstille egenskaben hibernate.jdbc.factory_class. Hvis du sørger for, at dvaletilstand ikke tjekker antallet af opdateringer af batch-operationer, kan du løse dit problem. Det kan du opnå ved at få din brugerdefinerede Batcher til at udvide klassen BatchingBatcher og derefter tilsidesætte metoden doExecuteBatch(...) til at se sådan ud:

    @Override
    protected void doExecuteBatch(PreparedStatement ps) throws SQLException, HibernateException {
        if ( batchSize == 0 ) {
            log.debug( "no batched statements to execute" );
        }
        else {
            if ( log.isDebugEnabled() ) {
                log.debug( "Executing batch size: " + batchSize );
            }

            try {
//              checkRowCounts( ps.executeBatch(), ps );
                ps.executeBatch();
            }
            catch (RuntimeException re) {
                log.error( "Exception executing batch: ", re );
                throw re;
            }
            finally {
                batchSize = 0;
            }

        }

    }

Bemærk, at den nye metode ikke kontrollerer resultaterne af at udføre de forberedte udsagn. Husk på, at denne ændring kan påvirke dvaletilstand på en eller anden uventet måde (eller måske ikke).



  1. Hent mysql-tabelkommentar ved hjælp af DatabaseMetaData

  2. oracle sql samling

  3. 4 måder at forhindre alarmoverbelastning med SQL Server-overvågning

  4. c++ konverter postgres tidsstempel uden tidszone til time_t