将列表从Java(使用JDBC)传递到Microsoft SQL Server的最佳方法
我读过一些方法,但想知道是否有人真的看到了性能上的差异,或者知道其他方法。我看到的两种方式是 1) Java以字符串的形式发送逗号或空格分隔的值列表,sql server会解析这些值(也可以使用xml)。i、 e'1,2,3'将列表从Java(使用JDBC)传递到Microsoft SQL Server的最佳方法,java,sql-server,Java,Sql Server,我读过一些方法,但想知道是否有人真的看到了性能上的差异,或者知道其他方法。我看到的两种方式是 1) Java以字符串的形式发送逗号或空格分隔的值列表,sql server会解析这些值(也可以使用xml)。i、 e'1,2,3' 2) 批处理将值插入到具有值集ID的sql server表中,然后运行与表中的值一起工作的sql查询。如果有人好奇,这是我的测试用例中迄今为止最好的。对于大量(>100万)插入,大约比jdbc批量插入快5倍 比一次插入一条记录快15倍左右。免责声明:我的性能测试并不严格。
2) 批处理将值插入到具有值集ID的sql server表中,然后运行与表中的值一起工作的sql查询。如果有人好奇,这是我的测试用例中迄今为止最好的。对于大量(>100万)插入,大约比jdbc批量插入快5倍
比一次插入一条记录快15倍左右。免责声明:我的性能测试并不严格。如果有人好奇,这是目前为止我测试用例中最好的。对于大量(>100万)插入,大约比jdbc批量插入快5倍
比一次插入一条记录快15倍左右。免责声明:我的性能测试并不严格。如果可能,最好发送一个表值参数,而不是分隔字符串。如果您必须发送一个分隔字符串,那么您必须在sql端拆分它,这不是最优的。下面是一篇讨论拆分器并提供一些示例的文章。如果可能,最好是发送一个表值参数,而不是分隔字符串。如果您必须发送一个分隔字符串,那么您必须在sql端拆分它,这不是最优的。下面是一篇讨论拆分器并提供一些示例的文章。