Дмитрий
Коллеги, подскажите пожалуйста как лучше реализовать таблица с посещениями.
У меня есть 10 разных ссылок
Когда клиент переходит по одной из них, должна создаться новая запись об этом посещении с юзерагентом, айпи и номером ссылки.
Но мне нужно учитывать как уникальные перехода, так и каждый переход, пусть один человек хоть 100 раз перейдет.
Я вижу 3 вариант :
1 - При каждом посещении вносить запись в таблицу visits и сделать поле hash - это хэш юзерагента + айпи + айди ссылки , и при выводе статы доставать каунт всех записей, и доставать каунт записей без повторов hash.
2 - Сделать таблицу visits и uvisits - и при каждом посещении искать запись hash с таким пользователем и если такого нет, то добавляем запись в visits и добавляем в uvisits - visit_id. А если такая запись в visits есть, то просто добавляем еще одну бе добавления в uvisits То есть в таблице uvisits Будут ссылки на уникальные записи.
3 - Сделать одну таблицу visits в ней сделать count который по умолчанию равен 1. При переходе по ссылке мы делаем проверку, есть ли такой хэш в таблице, и если есть, то мы просто делаем каунтеру инкремент. И когда нужно будет получить данные то Уникальные это каунт записей в visits а общее количество посещений - это SUM count в этой таблице
Какой вариант самый быстрый?
4. Не дрочить БД записью при каждом визите)