我将获得一个临时表,我运行一个进程将数据加载到一个更大的表中,并从临时表中删除数据。临时表中的某些行表示删除主表中的行。
目前算法如下:
ResultSet dataToLoad = select * from ...;
ResultSet mainTable = select * from ...;
while (dataToLoad.next())
{
if(insert)
//insert this row into main table, and remove row from this table
else if(delete)
//Find the row that matches in the main table and delete it. remove row from this table
}
我的问题是删除块。最好创建一个新的 ResultSet 以使用 where 查找行并删除集合中的单行,还是将游标放在开头并循环遍历游标检查条件?本质上就像在 java 代码中实现 where 子句。
加载 ResultSet 时 JDBC 缓存多少?它会为每个光标跳转做一次完整的网络往返吗?
最后,我简要阅读了万圣节问题。我在这里有风险吗?