212 похожих чатов

Тогда вроде все просто же ? Выбираем все записи от

тех юзеров, у которых рейтинг больше Н

Юзер {рейтинг}
Реактионс {автор, таргет}

Делается или джойном или подзапросом

Типа
Селект * фром реактионс вере автор ин (селект айди фром юзерс вере рейтинг > Н)


Рейтинг в сущности юзера можно сделать атрибутом, который или пересчитывается раз в какое-то время, или обновляется триггером. Все зависит от особенностей проекта

10 ответов

27 просмотров

То есть хранить текущее значение рейтинга всех пользователей? И когда кто то делает изменение своей реакции для кого то, то придется по цепочке пересчитывать рейтинги почти всей базы?

Arthur-Irgashev Автор вопроса
Arthur Irgashev
А это должно сразу всех аффектить ?

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

Arthur-Irgashev Автор вопроса
Vitaliy Shevchenko
То есть хранить текущее значение рейтинга всех пол...

Можно не пересчитывать всех, а вычислять рейтинг на лету. А предрасчитанный рейтинг использовать только для фильтрации

Высчитывать рейтинг на лету, это пересчитать всю базу для каждого пользователя при каждом запросе

Arthur-Irgashev Автор вопроса
Vitaliy Shevchenko
Высчитывать рейтинг на лету, это пересчитать всю б...

Так, и что ? Грамотные индексы должны решить все проблемы

Vitaliy Shevchenko
Да, это я описывал в постановке задачи. Может быть...

Это точно так должно работать? Допутим есть п1 и п2 и п3 с рейтингами 4 4 5 п3 ставит + п2 = 4 5 5 п2 ставит - п3 = 4 5 4 но оценка последнего становится неактуальная, и оценка становится 4 4 4 а значит уменьшение становится невозможным и оценка должна стать 4 4 5, значит прошлая оценка становится п3 становится актуальная и рейтинг становится 4 5 5, а значит оценка от п2 начинает работать и становится 4 5 4... продолжать до полного удовлетворения. Так что или все поставленные оценки даже после уменьшения остаются, или удачи.

Arthur-Irgashev Автор вопроса
Alex Gorodok
Это точно так должно работать? Допутим есть п1 и п...

ну да, система подсчета странная, честно говоря )

Alex Gorodok
Это точно так должно работать? Допутим есть п1 и п...

Похоже на то. Как эту схему можно улучшить?

Vitaliy Shevchenko
Похоже на то. Как эту схему можно улучшить?

Там в самом конце есть вариант. Все поставленные оценки, пока пользователь 5+ — остаются. Т.е. если оценка поставлена, то её уже может изменить только другой 5+, но не какие-либо автоматические распространения. Не вижу причин усложнять сильнее, как минимум сейчас, может у Вас там больше данных и придётся усложнять.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта