Re: PostgreSQL 12.8 Same Query Same Execution Plan Different Time

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Ludwig Isaac Lim <ludz_lim(at)yahoo(dot)com>
Cc: "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: PostgreSQL 12.8 Same Query Same Execution Plan Different Time
Date: 2022-01-19 15:11:00
Message-ID: CAKFQuwYes717OwjWfnchaDQS6i3UN7zHG7qJF5bpLByN6KY5uA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Wed, Jan 19, 2022 at 7:59 AM Ludwig Isaac Lim <ludz_lim(at)yahoo(dot)com> wrote:

>
> I noticed that different is actually in Nested Loop join. One is taking 2
> minutes, other is taking 12 seconds. I find this puzzling as I assume the
> nested loop should be done in memory.
>

Everything is done in memory, but the data has to get there first (hence
BUFFERS as you figured out below).

> The disk is gp2 SDD so I'm even more baffled by this. What could be the
> factors that affect the speed of nested loop. I notice for that both loops
> the rows is 7780 and loops is 1. I don't think those are big numbers
>

The loops are ~= 400 and 6,000

>
> It was only after the running the 2 queries that I realize I could
> do EXPLAIN (ANALYZE, BUFFERS), but I couldn't reproduce the slowness.
>

Did you (can you even in RDS) attempt to clear those buffers? If the first
query ran slowly because none of the data was in memory (which you don't
know for certain because you didn't run with BUFFERS option then) then
subsequent runs would indeed be faster (the implementation of shared
buffers having fulfilled one of its major purposes in life).

I'll agree buffers for that query does not seem to account for nearly two
minutes...though as RDS is a shared resource I'd probably chalk at least
some of it to contention on the underlying hardware (disk likely being more
problematic than memory).

David J.

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Michel SALAIS 2022-01-20 13:15:02 RE: PostgreSQL 12.8 Same Query Same Execution Plan Different Time
Previous Message Ludwig Isaac Lim 2022-01-19 13:52:55 PostgreSQL 12.8 Same Query Same Execution Plan Different Time