使用java从postgres db表中删除数千行的最快方法

时间:2012-08-22 04:27:52

标签: java sql

使用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);
            }

3 个答案:

答案 0 :(得分:2)

这不是Java问题 - 它是数据库。

确保SEQUENCE_NO上有索引。除此之外,请询问数据库专家(取决于数据库,可能会有一些可以提高性能的东西,但最终归结为数据库管理:选择SEQUENCE_NO的正确数据类型,保持元数据最新等。 )。

您可能应该在问题中添加SQL标记。

答案 1 :(得分:1)

如果您已经在使用单个查询,那么无论是Java还是其他任何内容,我认为它不会更快。

一些提示:

  • 使用PreparedStatement。它可能会稍快一点,而且会更清洁/更安全/更好
  • 在最后的
  • 中关闭声明

答案 2 :(得分:1)

您可能需要考虑构建一个类似

的语句
DELETE FROM NODE WHERE SEQUENCE_NO In (...);

这将在一次提交中完成你的工作而不是多次提交,这在任何情况下都会表现得更好。