zoukankan      html  css  js  c++  java
  • 关于 JPA PostgreSQL SERIAL BIGSERIAL 中使用 GenerationType.IDENTITY 批处理失效

    https://vladmihalcea.com/postgresql-serial-column-hibernate-identity/

    Although convenient, and even suggested in many PostgreSQL book, the SERIAL and BIGSERIAL column types are not a very good choice when using JPA and Hibernate. Using a SEQUENCE generator is a better alternative since the identifier can be generated prior to executing the INSERT statement.

    Behind the scenes, the SERIAL and BIGSERIAL column types use a database sequence anyway, so the only difference is that the SEQUENCE generator calls the sequence is a separate database roundtrip. However, this can also be optimized with the pooled and pooled-lo optimizers.

    If the database server is close to the application servers and networking is fast, the extra database roundtrip is not going to be a performance bottleneck. For all these reasons, you should prefer using the SEQUENCE generator over IDENTITY no matter if you use PostgreSQL, Oracle or SQL Server.

    REFER:

    Why To Avoid PostgreSQL (BIG)SERIAL In Batching Inserts Via Hibernate

    https://github.com/AnghelLeonard/Hibernate-SpringBoot/tree/master/HibernateSpringBootBatchingAndSerial

    https://github.com/AnghelLeonard/Hibernate-SpringBoot/tree/master/HibernateSpringBootBatchInsertsJpaRepository

    https://github.com/AnghelLeonard/Hibernate-SpringBoot/tree/master/HibernateSpringBootBatchInsertsEntityManagerBatchPerTransaction

    https://www.baeldung.com/jpa-hibernate-batch-insert-update

    https://jdbc.postgresql.org/documentation/94/connect.html

    https://vladmihalcea.com/9-postgresql-high-performance-performance-tips/

    PostgreSQL batch insert - jdbc reWriteBatchedInserts 批量写入 (copy,insert,begin commit,group commit)

    https://github.com/digoal/blog/blob/master/201910/20191030_01.md

    https://github.com/aruis/mysql_vs_postgresql

  • 相关阅读:
    安卓学习12
    安卓学习11
    安卓学习10
    安卓学习9
    Python3之json&pickle模块
    Mysql之基础sql语句
    Django模型层之单表操作
    创建Django项目与应用的两个命令
    windows命令行切换目录
    Django视图层之请求对象(request)和响应对象(HttpResponse)
  • 原文地址:https://www.cnblogs.com/Irving/p/14855248.html
Copyright © 2011-2022 走看看