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

Привет , может у вас будут мысли на этот счёт.

Мне нужно реализовать подбор фоток анкет в своем боте.

Как я реализовал: создал таблицу History в которой держу связку id_человека_который_увидел_фотку , id_фотки_которую_он_увидел. , Далее sql запросом достаю фотку которую юзер ещё не видел, пример: ...WHERE photo_id NOT IN (select photo_id from History where user_id = id_юзера.(очевидно это не полный запрос, там есть ещё другие условия)
Далее юзер увидел фотку - нажал далее - в историю попало то что он увидел эту фотку .

Почему этот вариант мне кажется плохим: проводил тесты, 5к человек сгенерили 500к записей в History примерно за ~5 часов. И в минуту стабильно добавлялось по 1-3к записей . Я понимаю что если при таком мизерном кол-ве людей таблица Истории уже насчитывала полумиллиона записей, можно представить с какой скоростью будут выдаваться юзерам фотки при более приличном кол-ве юзеров.
Почему именно мне нужна таблица History , мне нужно чтобы юзер видел именно фотки те, которые он до этого не видел.

Что думаете на этот счёт? (Реализовываю типо знакомства, перелистывание-анкет)

2 ответов

14 просмотров

Хранить просмотреные фотки как список id не делая новую запись. Я в бд не слишком понимаю в плане доставать теперь больше букв, но записей меньше.

А может пускай просто повторно прилетают фотки? Не баг, а фича. Вдруг пользователь не рассмотрел или случайно далее нажал

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

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

Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
7
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Карта сайта