14
Сен
2021

Можно ли ускорить выполнение кода?

Всем привет. Есть такой метод, который вставляет N значений в БД. Проблема, очень долго работает с большими значениями ~500_000. Вопрос, можно ли как то ускорить выполнение метода?

public static void paste(int n,String fieldName, String tableName) {
        try {
            ResultSet rs = stmt.executeQuery("SELECT "+fieldName+" FROM "+tableName);
            if (rs.next()) {
                stmt.executeUpdate("DELETE FROM "+tableName+" WHERE "+fieldName+" >0");
            }
            PreparedStatement pState = con.prepareStatement("INSERT INTO "+tableName+" ("+fieldName+") VALUES (?)");
            for (int i = 1; i <= n; i++) {
                pState.setInt(1, i);
                pState.executeUpdate();
            }
            System.out.println("Я заполнил " + n + " строк");

        } catch (SQLException e) {
            System.out.println("Ошибка с заполнением таблицы!");
        }
    }

Источник: https://ru.stackoverflow.com/questions/1328361/%D0%9C%D0%BE%D0%B6%D0%BD%D0%BE-%D0%BB%D0%B8-%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B8%D1%82%D1%8C-%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BE%D0%B4%D0%B0

Тебе может это понравится...

Добавить комментарий