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

  • 相关阅读:
    idea快捷的输出常用语句
    OneinStack基础搭建typecheo轻量级博客
    自动化框架介绍及使用
    jenkins配置自动化
    selenium模拟鼠标点击
    Linux下安装nginx
    解决“chrome正受到自动测试软件的控制”信息栏显示问题
    Git 常用操作
    ZendStudio自定义代码补全,自定义代码段
    07-python之装饰器
  • 原文地址:https://www.cnblogs.com/Irving/p/14855248.html
Copyright © 2011-2022 走看看