[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Статистика посещаемости страниц как сделать лучше?
qawsed1
Привет!

Есть сайт, на нём порядка 100 страниц, каждая посвящена отдельной книге.

Нужно сделать счётчик посещаемости этих страниц, чтобы и самому видеть какая страница популярнее и на сайт выводить "10 самый посещаемых", "10 самых посещаемых за сегодня" ну и т.д.

Как лучше реализовать такую идею?

У меня первым делом возникла самая примитивная идея: добавить в БД в таблицу числовое поле count и каждый раз при загружке страниц плюсовать туда +1. Но тогда невозможно реализовать "10 самых посещаемых за сегодня".

Вторая мысля была: создать отдельную таблицу count с полями id_book и time. тогда каждая загрузка страницы будет добавлять в эту таблицу новую строчку. Тогда вроде можно посчитать и общее кол-во строк (посещений) для каждой книги и за сегодня сделать если отсортировать через TIMESTAMP. Но, тогда каждый день эта таблица будет пополняться тысячами новых строк ежедневно! Боясь так БД разростётся до гигабайт.

Подскажите как лучше реализовать, чтобы было просто, надёжно и экономично для БД?
dron4ik
Гугл аналитика или яндекс метрика даст всю туже статистику, и + много другого... не зря же их используют...

_____________
Ex3m.com.ua — Активный образ жизни
qawsed1
Счётчик яндекса стоит. Но мне нужно именно для того, чтобы выводить через php и sql-запросы на страницы сайта информацию о том, какая из страниц популярнее. 10 новинок, 10 самых читаемых, 10 самых читаемых сегондя
dron4ik
Тогда второй вариант... не такая уж таблица и большая будет... та и чистить раз в неделю - месяц не проблема думаю...

_____________
Ex3m.com.ua — Активный образ жизни
qawsed1
Не хотелось бы конечно чистить))) А то как обычно то забудешь, то времени нет, то лень, то ещё что-нибудь)))
Michael
Цитата (qawsed1)
У меня первым делом возникла самая примитивная идея: добавить в БД в таблицу числовое поле count и каждый раз при загружке страниц плюсовать туда +1. Но тогда невозможно реализовать "10 самых посещаемых за сегодня".

"10 самых посещаемых за сегодня" можешь в отдельной табличке также хранить (url, счетчик, timestamp).
Перед занесением просто проверять текущее время с min из timestamp в этой таблице и если не этот день, то очищать таблицу.

_____________
There never was a struggle in the soul of a good man that was not hard
qawsed1
Так что получается, это единственные 2 варианта?
dron4ik
qawsed1
Мало?

_____________
Ex3m.com.ua — Активный образ жизни
Valick
Цитата
Так что получается, это единственные 2 варианта?

нет
В принципе по хорошему нужно использовать второй вариант, но если места на диске жалко, то можно при вставке группировать по дням (INSERT ... ON DUPLICATE KEY естетственно уникальный ключ на оба поля count и date (именно date, а не datetime)), в итоге в год у вас будет добавляться максимум 36500 строк

_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.