ниже метод заключается в том, чтобы вставить записи в таблицу базы данных sqlite, и я знаю, что этот метод будет называться много раз из внутренних циклов.Оптимальный способ вставки значений в sqlite DB
Мой вопрос в том, является ли приведенный ниже код оптимальным способом вставки значений в таблицу БД, или может быть лучший подход по мере того, как важно время и производительность.
просим пожалуйста совет.
код:
public void insertValues(String name, int age, String address, String gender) throws SQLException, ClassNotFoundException {
Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement("insert into "+TABLE_NAME+" ("+COL_1+", "+COL_2+", "+COL_3+", "+COL_4+") values (?, ?, ?, ?)");
ps.setString(1, name);
ps.setLong(2, age);
ps.setString(3, address);
ps.setString(4, gender);
ps.addBatch();
ps.executeBatch();
ps.close();
conn.close();
}
Вы не используете партию должным образом. Либо вы передаете несколько значений, и подготовьте партию и выполните ее один раз. Теперь вы добавляете один запрос в пакетном режиме и выполняете его. –
@NamanGala любезно, пожалуйста, представим вам пример. – rmaik
Вместо того чтобы передавать одно имя, возраст, адрес, пол, перечислить список dto. И в этом dto вы можете установить эти 4 значения. Затем повторите этот список в своем методе и выполните addBatch на итерации, после чего итерация закончится, вы можете вызвать executeBatch. –