@Futurism

Как сделать слежение за созданием/изменением строк в БД?

Добрый день.

Есть большой дамп в CSV - порядка 1.5 млн строк. Раз в сутки он разбирается и пишется в таблицу в БД.
Есть 10-15 юзеров, которые следят за строками по простому критерию вида FieldXXX = valueYYY (у каждого юзера значение свое, фильтров может быть несколько на юзера).

Пишется он построчно, для каждой строки делается mysqli_affected_rows() > 0, если да - то юзерам, следящим за такой строкой, отсылается уведомление.

Скрипт отрабатывает около двух часов, что очень плохо. Понятно, что самой первой оптимизацией было бы вставлять не построчно, а используя multiple-row INSERT, но в таком случае не будет работать affected rows.

Какие ещё варианты для оптимизации такого процесса вставки больших дампов существуют?
  • Вопрос задан
  • 194 просмотра
Решения вопроса 1
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
самый простой способ следить за изменениями - поле, в котором записывается дата последнего изменения записи. движок умеет такие поля автоматически.
скрипт, проверяющий наличие изменений, сравнивает это значение со временем своего последнего запуска.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
samodum
@samodum
Какой вопрос - такой и ответ
для этого придумали триггеры
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы