Задать вопрос
Slash-Zn
@Slash-Zn

Как лучше обновлять счётчик записей?

Например, у статьи есть N комментов, это количество меняется при добавлении или удалении коммента +/-1. Так сейчас и обновляются счетчики у меня.

Задумался, а как лучше делать:
1. Добавлять/Отнимать единицу от количества, при добавлении или удалении.
2. Каждый раз пересчитывать общее количество записей, сразу после добавлении или удалении записи?

Как делаете Вы?
  • Вопрос задан
  • 56 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
@tukreb
Раньше использовалось так:
1. Первый вариант, пока ничего не тормозит.
2. Второй вариант используется для отложенного обновления, обычно для счётчика просмотров, но идея та же, раз в час работает cron, который пересчитывает записи. До этого момента, они не меняются.

Сейчас есть другие способы, например загружать всё сначала в кэш, например в тот же redis, а потом раз в пол часа обновлять БД.
Ответ написан
@rPman
триггером на insert/delete, быстрее и удобнее некуда
Ответ написан
@Everything_is_bad
Можно забить и каждый раз пересчитывать кол-во комментов, при небольшой нагрузки это не проблема. Если это начинает сказывать на производительность, то делают денормализацию, отдельный счетчик это и есть такой случай. Если всё сделать правильно, то 1й первый без проблем работает, 2й вариант применяет при кривой реализации или есть случаи когда добавление/удаление происходит извне системы, другие решение это случая 1й вариант, с периодическим фоновым пересчетом.

А так, вообще не вижу тут проблемы, чтобы приходить сюда с таким вопросом, можно было просто подумать, поиспользовать на практике и тогда понять, какой подход нужен в конкретном случае. И главное, а при чем тут PHP?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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