Как сделать рейтинг товаров?

tend

Новичок
Как сделать рейтинг товаров?

Всем привет!

Есть рейтинг.
Схема такая: по заходу на страницу товара рейтинг данного товара увеличивается на единичку.
Каждый месяц статистика обнуляется и подсчет начинается заново, для каждого товара с нуля.
Хочу переделать рейтинг, чтобы обнуления не было. Может как-то, чтобы считались просмотры товаров за последние 30 дней. Или еще что-то. Подскажите, плиз, саму схему.
 

alexmsk

Новичок
Проще телаешь табличку отдельную и туда складываешь ID товара, дата, сумма баллов.
Считаешь по дате для каждого товара. После этого выдаешь динамически изменяемый рейтиг (по времени)
Старые записи можно чистить...
 

Agatov

Новичок
Автор оригинала: Апокалипсис
tend
ммм дак у тебя же сейчас так?
Не совсем. Он просит статистику за последние 30 дней. А в настоящее время - за месяц. Т.е. Если 29 сентября статистика - 892, то 1 октября может быть равной нулю.

Как вариант:

Создаешь таблицу - "товар ид", "дата", "просмотры". Дата изменяется по дням. Все просмотры в текущий день записываются в одну запись ( ну т.е. поле просмотры инкрементится ). На след. день при первом просмотре создаётся новая запись и.т.п. Т.е. На каждый день для каждого товара делается новая запись в таблице.

Потом, благодаря нехитрому запросу, ты сможешь подсчитывать кол-во посещений странички товара за последнии N дней
 

tend

Новичок
Agatov
Спасибо, хорошая идея!

А какая лучше таблица с точки зрения быстроты и производительности работы с ней: 10000 строк (товаров) и 31 столбец (один на id товара и по одному на 30 дней), или 3 столбца (id товара, дата, просмотры) и 10000*30 дней=300000 строк?
То есть куда лучше вытянуть таблицу: вниз или вправо?
 

hammet

Новичок
чтобы хранить статистику за последние 30 дней можно каждое добавление помечать TIMESTAMP'ом, а перед запросом на добавление сделать DELETE который удаляет все записи, у которых дата < (сегодня - 30 дней)

-~{}~ 02.10.07 00:20:

PS тянуть лучше вниз
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
То есть куда лучше вытянуть таблицу: вниз или вправо?
вверх и влево.
поверите?

-~{}~ 01.10.07 23:24:

ну неужели никак нельзя включииь мозги и подумать?

-~{}~ 01.10.07 23:25:

неужели каждое действие нужно спрашивать?
 

Beavis

Banned
Автор оригинала: tend
Agatov
Спасибо, хорошая идея!

А какая лучше таблица с точки зрения быстроты и производительности работы с ней: 10000 строк (товаров) и 31 столбец (один на id товара и по одному на 30 дней), или 3 столбца (id товара, дата, просмотры) и 10000*30 дней=300000 строк?
То есть куда лучше вытянуть таблицу: вниз или вправо?
а ты сам подумай, какой вариант будет удобнее, если например добавится или удалится несколько товаров?
и не надо пугаться цифр с несколькими нулями! надо просто правильно индексировать данные
 

alexmsk

Новичок
Автор оригинала: Beavis
а ты сам подумай, какой вариант будет удобнее, если например добавится или удалится несколько товаров?
и не надо пугаться цифр с несколькими нулями! надо просто правильно индексировать данные
К тому же вдруг захочется еще и готовой рейтинг сделать.... :)))
 

tend

Новичок
всем спасибо, рейтинг уже готов

и не надо пугаться цифр с несколькими нулями! надо просто правильно индексировать данные
я в этом мало разбираюсь и не знаю как надо правильно, но сделал индексы для всех трех столбцов (id товара, дата, просмотры)
 

kruglov

Новичок
Ну, с учетом того, что индексы бывают составные, для 3-х полей их можно сделать аж полтора десятка штук разных (включая бессмысленные и включающиеся внутрь других).
 

Beavis

Banned
Автор оригинала: tend я в этом мало разбираюсь и не знаю как надо правильно, но сделал индексы для всех трех столбцов (id товара, дата, просмотры)
а нет желания узнать как правильно? или "у меня всё работает, мне больше ничего не надо" ?
 

tend

Новичок
а нет желания узнать как правильно? или "у меня всё работает, мне больше ничего не надо" ?
Есть! Я хочу поближе к оптимальности. Подскажите, пожалуйста.
 
Сверху