Набор игроков

Завершенные игры

Новые блоги

- Все активные блоги

Форум

- Для новичков (3631)
- Общий (17587)
- Игровые системы (6144)
- Набор игроков/поиск мастера (40954)
- Котёл идей (4059)
- Конкурсы (14133)
- Под столом (20330)
- Улучшение сайта (11096)
- Ошибки (4321)
- Новости проекта (13754)
- Неролевые игры (11564)

Опрос об урезании счетчика новых сообщений

12
C-C-C-COMBO BREAKER!

А так, двачую, конечно.
Автор: victorprice [offline] , 01.11.2013 23:59 21

Алиса вообще была бы не против, если бы счетчик остался только в активных/наблюдаемых играх+форум.
+1
Автор: Irene Howlett [offline] , 03.11.2013 03:56 22

Алиса вообще была бы не против, если бы счетчик остался только в активных/наблюдаемых играх+форум.
Очень годное и логичное предложение, зачет! Сделаю, посмотрим.
Автор: rakot [offline] , 04.11.2013 23:57 23

я смотрю мои рассказы в чятике не прошли даром.
Автор: ScareCrow [offline] , 09.12.2013 18:20 24

в таком случае пару оптимизаций.
в

"есть таблица в БД, в ней для каждой пары "пользователь - комната в игре/тема на форуме"

хранить надо два счетчика. счетчик сообщений ВСЕГО видимых пользователю и счетчик просмотренных сообщений. Счетчик ВСЕГО сообщений обновлять триггером или в процедуре создания нового сообщения. ввиду "счетчик остался только в активных/наблюдаемых играх+форум" это один достаточно простой запрос.

это уберет запрос подсчета всего сообщений.

счетчик просмотренных сообщений обновлять как "счетчик просмотренных сообщений = Счетчик ВСЕГО" в процедуре показа.

это уберет запрос на "эти последние посты и считает, сколько сообщений появилось с тех пор."
Автор: ScareCrow [offline] , 09.12.2013 18:32 | Отредактировано 09.12.2013 в 18:33 25

хранить надо два счетчика. счетчик сообщений ВСЕГО видимых пользователю и счетчик просмотренных сообщений. Счетчик ВСЕГО сообщений обновлять триггером или в процедуре создания нового сообщения. ввиду "счетчик остался только в активных/наблюдаемых играх+форум" это один достаточно простой запрос.

это уберет запрос подсчета всего сообщений.

счетчик просмотренных сообщений обновлять как "счетчик просмотренных сообщений = Счетчик ВСЕГО" в процедуре показа.

это уберет запрос на "эти последние посты и считает, сколько сообщений появилось с тех пор."
Пост будет отправляться 15 минут - пока алгоритм обойдет всех пользователей и инкрементирует. И скорость работы алгоритма будет снижаться пропорционально количеству юзверей.

Мб прикрутить каждому юзверю поле с датой последнего поста? Если дата последнего поста в поле/теме не соответствует тому, что у юзера прописана, считать нечитанные посты? (Мы все еще храним переменные со счетчиками, как и предложено, но обновляем их только когда юзверь вползает на форум и только в том случае, если дата последнего поста с момента последнего посещения поменялась.)
Я считаю, это позволит сократить количество изменений базы до минимума, плюс не будет нагружать сервер скачкообразно, а распределит нагрузку по времени. Конечно, от моментов, когда 100500 юзеров сидит одновременно и нервно обновляет форум не спасет (при условии, что новые сообщения появляются), но уже ничего.

Но если чего - я диванный теоретик. вполне возможно что примерно так и реализовано.
Автор: LedoCool [offline] , 09.12.2013 19:24 26

Пост будет отправляться 15 минут - пока алгоритм обойдет всех пользователей и инкрементирует. И скорость работы алгоритма будет снижаться пропорционально количеству юзверей.
ввиду "счетчик остался только в активных/наблюдаемых играх+форум" это один достаточно простой запрос.
Автор: ScareCrow [offline] , 10.12.2013 15:39 27

Если дата последнего поста в поле/теме не соответствует тому, что у юзера прописана, считать нечитанные посты?
нечитанные посты это тупо разница между счетчиком ВСЕГО и счетчиком ПРОЧИТАННЫЕ.

обновлять можно да, если только эта разница больше нуля.
Автор: ScareCrow [offline] , 10.12.2013 15:41 28

ввиду "счетчик остался только в активных/наблюдаемых играх+форум" это один достаточно простой запрос.Вот с такой фразы и начались тормоза в windows. :D

Но я на всякий случай напомню, что я диванный теоретик без реального опыта в реализации подобных баз. Поэтому мои посты тут можно считать оффтопом.
Автор: LedoCool [offline] , 11.12.2013 14:22 29

12