Re: Last event per user

Поиск
Список
Период
Сортировка
От Michael Lewis
Тема Re: Last event per user
Дата
Msg-id CAHOFxGpiuT2Hy+5DgX+G67tMcecuNgZZ5KBT69qG0MPFJ-CUYw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Last event per user  (Luís Roberto Weck <luisroberto@siscobra.com.br>)
Ответы Re: Last event per user  (Luís Roberto Weck <luisroberto@siscobra.com.br>)
Список pgsql-performance
On Mon, Aug 12, 2019 at 5:03 PM Luís Roberto Weck <luisroberto@siscobra.com.br> wrote:

If you modify last_user_event_2 to select user and event info in the view, and just put there where clause directly on the view which is not joined to anything, instead of on the "extra copy" of the users table like you were showing previously, I would expect that the performance should be excellent.

But I need user_id and user_group to be outside of the view definition. user_id and user_group are dynamic values, as in, I need to call this query multiple times for different user_ids and user_groups .


I don't follow. Perhaps there is something within the limitations of the ORM layer that I am not expecting. If you have this view-

"last_user_event_2"

SELECT u.*, e.*

   FROM users u

        JOIN LATERAL (SELECT *

                        FROM events

                       WHERE user_id = u.user_id

                         AND user_group = u.user_group 

                       ORDER BY timestamp_inc DESC

                       LIMIT 1 ) e ON TRUE


And you execute a query like this-
SELECT * FROM last_user_event_2 e WHERE  user_id = 1272897 and user_group = 19117;


Then I would expect very good performance.

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

Предыдущее
От: Luís Roberto Weck
Дата:
Сообщение: Re: Last event per user
Следующее
От: Piotr Włodarczyk
Дата:
Сообщение: ODP: Planner performance in partitions