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

Народ, подскажите, пожалуйста Есть вот такой запрос SELECT * FROM "models" LEFT OUTER JOIN

"modelarchives" ON ("models"."id" = "modelarchives"."model_id")
INNER JOIN "users" ON ("models"."user_id" = "users"."id")
WHERE (
"models"."deleted_at" IS NULL AND
"modelarchives"."id" IS NULL AND
"users"."plan_type" IN ('pro', 'prem', 'biz', 'ent')
)

Есть индекс по полю models.deleted_at но почему-то он не используется, а вместо него происходит Seq Scan на 2,5 миллиона строк 🤕

В чем тут проблема?

4 ответов

9 просмотров

Таки надо смотреть, как создан индекс и план этого запроса. Возможно, и как созданы талицы. Навскидку, вместо индекса по deleted_at скорее подойдёт такой: CREATE INDEX ON models (user_id) WHERE deleted_at IS NULL

А ты скобки лишние утери, сразу станет индекс использоваться

У тебя условие на deleted at наверняка неселективное, очень много записей где это поле null

Иван- Автор вопроса

вот план: https://explain.depesz.com/s/pbO1 ¯\_(ツ)_/¯

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта