From: | Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com> |
---|---|
To: | Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Use extended statistics to estimate (Var op Var) clauses |
Date: | 2021-12-13 02:21:38 |
Message-ID: | 7cdd08ce-088a-d465-de9a-8f743cb36c6a@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
I finally got around to this patch again, focusing mostly on the first
part that simply returns either 1.0 or 0.0 for Var op Var conditions
(i.e. the part not really using extended statistics).
I have been unhappy about using examine_variable, which does various
expensive things like searching for statistics (which only got worse
because now we're also looking for expression stats). But we don't
really need the stats - we just need to check the Vars match (same
relation, same attribute). So 0002 fixes this.
Which got me thinking that maybe we don't need to restrict this to Var
nodes only. We can just as easily compare arbitrary expressions,
provided it's for the same relation and there are no volatile functions.
So 0003 does this. Conditions with the same complex expression on each
side of an operator are probably fairly rare, but it's cheap so why not.
0004 and 0005 parts are unchanged.
The next steps is adding some tests to the first parts, and extending
the tests in the main patch (to also use more complex expressions, if
0003 gets included).
regards
--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Attachment | Content-Type | Size |
---|---|---|
0001-Improve-estimates-for-Var-op-Var-with-the-same-Var.patch | text/x-patch | 4.3 KB |
0002-simplification.patch | text/x-patch | 3.1 KB |
0003-relax-the-restrictions.patch | text/x-patch | 1.9 KB |
0004-main-patch.patch | text/x-patch | 25.6 KB |
0005-Don-t-treat-Var-op-Var-as-simple-clauses.patch | text/x-patch | 12.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Zhihong Yu | 2021-12-13 02:50:22 | Re: Use extended statistics to estimate (Var op Var) clauses |
Previous Message | Michael Paquier | 2021-12-13 02:05:58 | Re: Make pg_waldump report replication origin ID, LSN, and timestamp. |