From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: David Rowley <dgrowleyml@gmail.com>
Cc: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Duncan Sands <duncan.sands@deepbluecap.com>
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: range_agg extremely slow compared to naive implementation in obscure circumstances
Date: Wed, 01 Feb 2023 09:51:11 -0500
Message-ID: <1367182.1675263071@sss.pgh.pa.us> (raw)
In-Reply-To: <20230201115741.qfcjbm4jyji4etvn@alvherre.pgsql>
References: <20230201115741.qfcjbm4jyji4etvn@alvherre.pgsql>
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> On 2023-Jan-31, David Rowley wrote:
>> It might be better if we had multirange_canonicalize() deserialize
>> these once and used some representation that could more easily be
>> qsorted. I'm not planning on doing any work on it though.
> Yeah, maybe it would be possible to have an in-memory representation
> that doesn't require any deparsing, and keep the compact representation
> to be used only for in-data-page storage. How to do this within the
> constraints of the Datum abstraction is not clear to me.
Perhaps the "expanded datum" mechanism would serve?
src/include/utils/expandeddatum.h
It might be too heavyweight for this application, but I'm not sure.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: tgl@sss.pgh.pa.us, alvherre@alvh.no-ip.org, dgrowleyml@gmail.com, pavel.stehule@gmail.com, duncan.sands@deepbluecap.com, pgsql-bugs@lists.postgresql.org
Subject: Re: range_agg extremely slow compared to naive implementation in obscure circumstances
In-Reply-To: <1367182.1675263071@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox