使用hibernate时,当我尝试使用以下方式启用批量插入时
<property name="jdbc.batch_size">50</property>
我得到以下输出:
[...] cfg.SettingsFactory INFO - JDBC batch updates for versioned data: disabled [...] cfg.SettingsFactory INFO - Order SQL inserts for batching: disabled
然后这个:
[...] jdbc.AbstractBatcher DEBUG - Executing batch size: 1
batch size: 1基本上没有。
batch size: 1
我是否缺少设置?
原来在这种情况下缺少的是:
<property name="order_inserts">true</property>
现在我明白了
[...] cfg.SettingsFactory INFO - Order SQL inserts for batching: enabled ... [...] Executing batch size: 2
频繁得多(任何大于1的值基本上都意味着它成功完成了批量插入)。
hibernate.jdbc.batch_versioned_data也可能有用。
jdbc:mysql:// localhost:3306 / batch?rewriteBatchedStatements = true类型连接字符串也可能以某种方式相关。
https://forum.hibernate.org/viewtopic.php?p=2374413,另请参阅