使用java.Presently从postgres db表中删除数千行的最快方法我正在使用以下代码片段:
query = "DELETE FROM NODE WHERE SEQUENCE_NO = " + sequenceNo;
insertOrDelete(query);
insertOrDelete(String query){
statement = createStatement();
numRowUpdated = statement.executeUpdate(query);
closeStatement(statement);
}
答案 0 :(得分:2)
这不是Java问题 - 它是数据库。
确保SEQUENCE_NO上有索引。除此之外,请询问数据库专家(取决于数据库,可能会有一些可以提高性能的东西,但最终归结为数据库管理:选择SEQUENCE_NO的正确数据类型,保持元数据最新等。 )。
您可能应该在问题中添加SQL标记。
答案 1 :(得分:1)
如果您已经在使用单个查询,那么无论是Java还是其他任何内容,我认为它不会更快。
一些提示:
答案 2 :(得分:1)
您可能需要考虑构建一个类似
的语句DELETE FROM NODE WHERE SEQUENCE_NO In (...);
这将在一次提交中完成你的工作而不是多次提交,这在任何情况下都会表现得更好。