Russian Qt Forum
Сентябрь 30, 2024, 16:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Формирование рейтинга  (Прочитано 3207 раз)
blood_shadow
Гость
« : Сентябрь 04, 2011, 07:23 »

Добрый день,
есть БД в которой есть разные таблицы с марками автомобилей, и есть программа через которую осуществляется
доступ к таким таблицам, у каждого автомобиля есть свой `rating` просмотра, этот рейтинг формируется с количества
просмотров через эту программу, необходимо каждые 15 минут обнулять рейтинг

Вопрос:
1. можно ли как-то "сказать" таблице инкрементировать значение ячейки `rating`?
2. как поставить таймер в БД который будет обнулять `rating` каждые 15 минут
Записан
maint
Гость
« Ответ #1 : Сентябрь 04, 2011, 07:31 »

если просмотрщик свой с исходниками, то вставить туда событие. Если нет, то сторонней программой в 5 строчек
Записан
blood_shadow
Гость
« Ответ #2 : Сентябрь 04, 2011, 08:22 »

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

если с БД нельзя так сделать как я говорил, что там насчет сторонней программы?
Записан
Рома
Гость
« Ответ #3 : Сентябрь 04, 2011, 11:15 »

ИМХО: Думаю maint имел ввиду, что нужно создать отдельную программку, которая каждые 15 минут будет очищать rating. Она не должна иметь никакого отношения к просмотрщику, а быть привязаной только к БД.
А по поводу первого вопроса, думаю будет неплохо, если вы по-подробнее раскажете про саму БД.
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #4 : Сентябрь 04, 2011, 11:23 »

Я бы создал отдельную таблицу, куда писал записи вида (id_машины, время_просмотра) с индексами по полям.
Рейтинг получал бы как count записей, где id_машины = id_этой машины и время_просмотра >= сейчас - 15 минут.
Ну и время от времени вызывать удалить, если время_просмотра < сейчас - 15 минут, чтобы слишком не разрасталось таблица.
Записан
Whiplash
Гость
« Ответ #5 : Сентябрь 05, 2011, 09:50 »

Вообще, довольно много от СУБД зависит, которая используется. Если есть возможность, то можно создать селективную процедуру на выбор параметров автомобиля, и в этой процедуре инкрементировал бы соответствующий рейтинг.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.182 секунд. Запросов: 23.