Re: Tuning a query with ORDER BY and LIMIT - Mailing list pgsql-general

From Peter J. Holzer
Subject Re: Tuning a query with ORDER BY and LIMIT
Date
Msg-id 20220622221321.vjrapfkid3rprun5@hjp.at
Whole thread Raw
In response to Tuning a query with ORDER BY and LIMIT  ("Dirschel, Steve" <steve.dirschel@thomsonreuters.com>)
Responses Re: Tuning a query with ORDER BY and LIMIT  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On 2022-06-22 19:39:33 +0000, Dirschel, Steve wrote:
> create index workflow_execution_initial_ui_tabs
>     on workflow_execution (workflow_id asc, status asc, result asc,
> completed_datetime desc);
[...]
> explain (analyze, verbose, costs, buffers, timing, summary, hashes)
> select * from workflow_execution
> where workflow_id = 14560 and
>       status = 'COMPLETED' and
>       result = 'SUCCEEDED'
> order by completed_datetime desc limit 50;

This query should actually be able to use the index, since the first
columns in the index are all compared to single values. So the you can
just jump to the first matching index and then get the next 50 entries.

> Is Postgres unable to optimize the query similar to Oracle?  Is it possible
> this is possible but we are running on too old of a version?

PostgreSQL 10 is quite old, so that's a possibility.

        hp

--
   _  | Peter J. Holzer    | Story must make more sense than reality.
|_|_) |                    |
| |   | hjp@hjp.at         |    -- Charles Stross, "Creative writing
__/   | http://www.hjp.at/ |       challenge!"

Attachment

pgsql-general by date:

Previous
From: "Peter J. Holzer"
Date:
Subject: Re: Tuning a query with ORDER BY and LIMIT
Next
From: "Peter J. Holzer"
Date:
Subject: Re: Tuning a query with ORDER BY and LIMIT