Java и MySQL PreparedStatement: хранение 5 000 чисел в таблице. каков правильный путь?

Я Пишу приложение Facebook с помощью API Facebook Java и MySQL 5.1.

Я пытаюсь найти более быстрый способ сохранить друзей список пользователя, который входит в мое приложение.

Когда пользователь входит в мое приложение, следующее происходит:

  1. удаление старых друзей список зарегистрированного пользователя
  2. сбор пользовательских друзей перечисляет в ArrayList
  3. В Java я делаю для цикла для каждого числа в Списке массива, и я Выполняю вставку для вставки нового друга идентификатор в друзей таблица.

Существует ли способ сделать этот весь сценарий быстрее?

Например, я думал о создании хранимой процедуры, которая получает uid текущего пользователя и массив uids друзей, но я считал и понял, что хранимые процедуры в MySQL 5.1 не могут приемные антенные решетки.

Таблица списка друзей очень проста:

id int(10) <- primary key
user_friends_uid bigint
timestamp TIMESTAMP

любая справка значительно ценилась бы.

спасибо!

1
задан ufk 9 August 2010 в 13:43
поделиться

1 ответ

Вы можете использовать пакетные обновления JDBC:

    PreparedStatement stmt = getSql().prepareStatement(...);
    try {
        for (Row row: rows) {
            stmt.setLong(1, row.id);
            ...
            stmt.addBatch();
        }
        stmt.executeBatch();
    } finally {
        stmt.close();
    }
2
ответ дан 2 September 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: