On 27/12/2023 11:15, Alexander Korotkov wrote:
On Wed, Dec 27, 2023 at 5:23 AM Tom Lane <t...@sss.pgh.pa.us> wrote:
Alexander Korotkov <aekorot...@gmail.com> writes:
2) An accurate estimate of the sorting cost is quite a difficult task.
Indeed.
What if we make a simple rule of thumb that sorting integers and
floats is cheaper than sorting numerics and strings with collation C,
in turn, that is cheaper than sorting collation-aware strings
(probably more groups)? Within the group, we could keep the original
order of items.
I think it's a fool's errand to even try to separate different sort
column orderings by cost. We simply do not have sufficiently accurate
cost information. The previous patch in this thread got reverted because
of that (well, also some implementation issues, but mostly that), and
nothing has happened to make me think that another try will fare any
better.
To be clear. In [1], I mentioned we can perform micro-benchmarks and
structure costs of operators. At least for fixed-length operators, it is
relatively easy. So, the main block here is an accurate prediction of
ndistincts for different combinations of columns. Does it make sense to
continue to design the feature in the direction of turning on choosing
between different sort column orderings if we have extended statistics
on the columns?
[1]
https://www.postgresql.org/message-id/e3602ccb-e643-2e79-ed2c-1175a8053...@postgrespro.ru
--
regards,
Andrei Lepikhov
Postgres Professional