我有这个插入 2k 个对象的休眠代码。我已经设置了 hibernate 来批量处理我的插入和代码,一切看起来就像来自 hibernate 站点的示例。当批处理生效时,我确实看到了改进,但是当我分析我的应用程序时,我实际上看到 2k 插入语句被发送到我的数据库。我有点期望插入语句更少并且形式为
insert into table1(c1, c2) values (...), (...), ..., (...)
这是错误的期望还是我的批处理设置有问题?
我有这个插入 2k 个对象的休眠代码。我已经设置了 hibernate 来批量处理我的插入和代码,一切看起来就像来自 hibernate 站点的示例。当批处理生效时,我确实看到了改进,但是当我分析我的应用程序时,我实际上看到 2k 插入语句被发送到我的数据库。我有点期望插入语句更少并且形式为
insert into table1(c1, c2) values (...), (...), ..., (...)
这是错误的期望还是我的批处理设置有问题?
是的,这是一个错误的期望。批量更新只是意味着不是将每个插入语句单独发送到数据库,而是将它们添加到一个批处理中,并且一旦添加了给定的数字,该批处理就会发送到数据库。