Re: Optimizing `WHERE x IN` query

Поиск
Список
Период
Сортировка
От Thomas Kellerer
Тема Re: Optimizing `WHERE x IN` query
Дата
Msg-id 86b8a755-2fa4-f7c2-8b0b-3290773feb97@gmx.net
обсуждение исходный текст
Ответ на Optimizing `WHERE x IN` query  (Omar Roth <omarroth@hotmail.com>)
Ответы Re: Optimizing `WHERE x IN` query  (Omar Roth <omarroth@hotmail.com>)
Re: Optimizing `WHERE x IN` query  (Nicolas Charles <nicolas.charles@rudder.io>)
Список pgsql-performance
Omar Roth schrieb am 07.07.2019 um 15:43:
> Currently, the query I'm using to generate a user's feed is:
>
> ```
> SELECT * FROM channel_videos WHERE ucid IN (SELECT unnest(subscriptions) FROM
> users WHERE email = $1) ORDER BY published DESC;
> ```

You could try an EXISTS query without unnest:

select cv.*
from channel_videos cv
where exists ucid (select *
                    from users u
                    where cv.ucid = any(u.subscriptions)
                      and u.email = $1);

Did you try if a properly normalized model performs better?




В списке pgsql-performance по дате отправления:

Предыдущее
От: Omar Roth
Дата:
Сообщение: Optimizing `WHERE x IN` query
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: UUID v1 optimizations...