Re: Why Postgres use a little memory on Windows. - Mailing list pgsql-general

From Tom Lane
Subject Re: Why Postgres use a little memory on Windows.
Date
Msg-id 23887.1455993431@sss.pgh.pa.us
Whole thread Raw
In response to Re: Why Postgres use a little memory on Windows.  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses Re: Why Postgres use a little memory on Windows.  (Francisco Olarte <folarte@peoplecall.com>)
List pgsql-general
Adrian Klaver <adrian.klaver@aklaver.com> writes:
> Took liberty of reformatting the above here:
> ...
> FROM
>      sym_data d INNER JOIN sym_data_gap g ON g.status = 'GP'
>      AND d.data_id BETWEEN g.start_id
>      AND g.end_id
> WHERE
>      d.channel_id = 'sale_transaction'
> ORDER BY
>      d.data_id ASC;

> The thing that stands out to me is that I do not see that sym_data and
> sym_data_gp are actually joined on anything.

The "d.data_id BETWEEN g.start_id AND g.end_id" part is a join condition
... but not one that can be handled by either hash or merge join, because
those require simple equality join conditions.  So the nestloop plan shown
here is really about as good as you're going to get without redesigning
the query and/or the data representation.

It looks like the bitmap heap scan generally returns exactly one row for
each outer row, which makes me wonder if the BETWEEN couldn't be replaced
with some sort of equality.  But that might take some rethinking of the
data.

            regards, tom lane


pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Why Postgres use a little memory on Windows.
Next
From: Francisco Olarte
Date:
Subject: Re: Why Postgres use a little memory on Windows.