我正在尝试使用JDBC中的准备好的语句插入大量行,而性能是我关注的重点。
我可以轻松地对要插入的每个项目执行SELECT COUNT(*) FROM table_name WHERE uuid=incoming_data_uuid
,但这意味着我要在表中插入或更新的每个项目都需要两个< / em>查询以运行:select
和(update
或insert
)。这根本不是最佳选择,因为由于从客户端到数据库的来回查询的数量会大大降低性能。
我研究了其他方法,包括使用异常处理,但是我发现的示例中没有一个包含多个值。
那么,可以以某种方式进行INSERT INTO table (?,?,?,?,?) VALUES (), (), (), (), () ON DUPLICATE KEY UPDATE fields
或类似的事情吗?
答案 0 :(得分:0)
我建议您将它们添加到批处理中,并在一次网络往返中执行所有这些操作。
如果您要对现有数据进行操作,我将执行SELECT INTO操作。
您对性能的关注是一件好事。