на поле client_address, остальные поля как обычные ключи/индексы).
При первом переходе какого-нибудь посететиля на сайт, информация о его сеансе попадает в эту таблицу, в т.ч. код страны, время последней активности и IP-адрес.
Далее, если пользователь заходит последующие разы, я обновляю только колонку last_activity_at, означающая время последнего перехода клиента.
Параллельно, в фоне, каждые 10 минут запускается скрипт, который очищает все записи из этой таблицы по условию last_activity_at < NOW() - interval '10 minute'
За пару минут кол-во посетителей можно подскакивать вплоть до 10 тысяч и более, и оно постоянно варьирует - каждую секунду происходят инсерты/апдейты.
Исходя из этого, хочу с вами посоветоваться, как думаете, нужно ли мне в фоновом процессе, который очищает таблицу по вышенаписанному мной условию делать VACCUM ANALYZE "online_addresses" ?
ну он же сам запускается и следит, зачем руками? 10 000 - это не много
Спасибо за мнение!
я бы скрипт каждую минуту запускал — плавнее будет.
Каждую минуту по условию NOW() - interval 10 minutes?
Обсуждают сегодня