таблицы entity, requests, publications, moderation_status, flag_status. В таблице flag_status есть тип, указывающий, удалена ли запись или нет, в moderation_status есть status указывающий, прошла ли запись модерацию или нет. В publications есть boolean visible, указывающая отображается ли запись или нет и user_id содержащая автора публикации. Нужно собрать статистику по опубликованным, скрытым и прошедшим модерацию запросам, а также отобразить сколько записей всего есть у пользователя по его id игнорируя записи с flag_status = 'DELETED'.
Пирожок с первой полки - заменить NOT IN на MINUS
https://t.me/pgsql/303899 — некоторый минммум информацыи, после получения которого есть смысл начинать рассуждение про скорость запроса. (И да, слать фотки текстов лучшэ не надо. Копируйте куда-нибудь текст).
postgres 15. EXPLAIN: https://pastes.dev/ti62Lhz2K0. Всё остальное есть в первоначальном вопросе.
Explain (analyze, buffers) И нет, определения таблиц того уровня, который показывает \d, в оригинальном посте нет. Запроса — тожэ (дажэ та фотка у вас обрезанная, дажэ если взяться читать фотки текстов).
а flag_status.entity_id с чем в подзапросе сравнивается ?
с publication.entity_id. Забыл таблицу указать
Это бессмысленно. Значит, в твоём запросе логическая ошибка
А если так, то надо запрос сначала надо написать правильно, а уж затем оптимизировать
держите меня в курсе
в смысле ?
Обсуждают сегодня