прикручиваю к нему бэк (django + celery)
Для тестов использую sqlite3, в будущем буду мигрировать на постгресс
Есть таблица со всеми чатами и к ней привязана таблица (One to many) с сообщениями в каждом чате
Каждые 10 минут сообщения будут добавляться
Сейчас я делаю таблицу которая будет дополняться каждый день а именно:
для каждого чата будет подсчет сообщений за день
так вот:
Как можно сделать выборку из таблицы с сообщениями минимальным количеством запросов?
Мне нужно каждую полночь считать сообщения
Как я хочу это сделать:
Я беру массив querry его сортирую по дате беру по датам и создаю для каждой строку в базе (это все планирую делать по средствам питона)
Но мне кажется что есть варианты по легче
Есть у кого советы как это сделать?
Мне очень важна производительность и очень важно не закрыть базу данных а подключать базу на чтение и запись не охото
Через aggregate это все считается
Вот, https://gist.github.com/mur4ik18/4b212d6785f9d704f3f819b816d276f3
На будущее, если в названии написать .py то будет подсвечивать код) Тебе нужно написать таску, которая будет брать все чаты, считать сколько в них было сообщений за день и отправляла в канал это?
ну примерно да Я написал там считается колво уникальных и количество всех сообщений
Что значит кол-во уникальных?
сколько из этих сообщений написало "новых" юзеров на этот день
https://gist.github.com/mur4ik18/789321667c8457e85868c0f6ff0db941
Обсуждают сегодня