Thread: release notes: tids & self-joins
The release notes say: <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-12-30 [b5415e3c2] Support parameterized TidPaths. Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-12-30 [0a6ea4001] Add a hash opclass for type "tid". --> <para> Improve optimization of self-joins (Tom Lane) </para> </listitem> I don't think that's an accurate summary of those two items. It's true that they could make self-joins more efficient, but my reading is that it would only do so if the self-join happened to use the ctid column. If you're writing SELECT * FROM foo a, foo b WHERE a.ctid = b.ctid, it might very well help; but if you write SELECT * FROM foo a, foo b WHERE a.x = b.x, it won't, not even if there is a unique index on x. Or so I think. So I think that this should probably be changed to say something like "Improve optimization of self-joins on ctid columns" or "Improve optimization of joins involving columns of type tid." -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Robert Haas <robertmhaas@gmail.com> writes: > The release notes say: > <listitem> > <!-- > Author: Tom Lane <tgl@sss.pgh.pa.us> > 2018-12-30 [b5415e3c2] Support parameterized TidPaths. > Author: Tom Lane <tgl@sss.pgh.pa.us> > 2018-12-30 [0a6ea4001] Add a hash opclass for type "tid". > --> > <para> > Improve optimization of self-joins (Tom Lane) > </para> > </listitem> > I don't think that's an accurate summary of those two items. It's > true that they could make self-joins more efficient, but my reading is > that it would only do so if the self-join happened to use the ctid > column. Yeah. I think Bruce misread the commit messages, which commented that joining on TID is only likely to be useful in a self-join. > So I think that this should probably be changed to say something like > "Improve optimization of self-joins on ctid columns" or "Improve > optimization of joins involving columns of type tid." The latter seems fine to me. regards, tom lane
On Fri, 14 Jun 2019 at 05:22, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Robert Haas <robertmhaas@gmail.com> writes: > > So I think that this should probably be changed to say something like > > "Improve optimization of self-joins on ctid columns" or "Improve > > optimization of joins involving columns of type tid." > > The latter seems fine to me. The latter seems a bit inaccurate to me given the fact that a column with the type tid could exist elsewhere in the table. Perhaps "columns of type tid" can be swapped with "a table's ctid column". -- David Rowley http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
David Rowley <david.rowley@2ndquadrant.com> writes: > On Fri, 14 Jun 2019 at 05:22, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> Robert Haas <robertmhaas@gmail.com> writes: >>> So I think that this should probably be changed to say something like >>> "Improve optimization of self-joins on ctid columns" or "Improve >>> optimization of joins involving columns of type tid." >> The latter seems fine to me. > The latter seems a bit inaccurate to me given the fact that a column > with the type tid could exist elsewhere in the table. Perhaps > "columns of type tid" can be swapped with "a table's ctid column". It's true that the parameterized-tidscan patch only helps for joins to CTID, but the other patch helps for joins to any tid column. So I still say Robert's wording is fine. regards, tom lane
On Thu, Jun 13, 2019 at 01:22:16PM -0400, Tom Lane wrote: > Robert Haas <robertmhaas@gmail.com> writes: > > The release notes say: > > <listitem> > > <!-- > > Author: Tom Lane <tgl@sss.pgh.pa.us> > > 2018-12-30 [b5415e3c2] Support parameterized TidPaths. > > Author: Tom Lane <tgl@sss.pgh.pa.us> > > 2018-12-30 [0a6ea4001] Add a hash opclass for type "tid". > > --> > > > <para> > > Improve optimization of self-joins (Tom Lane) > > </para> > > </listitem> > > > I don't think that's an accurate summary of those two items. It's > > true that they could make self-joins more efficient, but my reading is > > that it would only do so if the self-join happened to use the ctid > > column. > > Yeah. I think Bruce misread the commit messages, which commented that > joining on TID is only likely to be useful in a self-join. > > > So I think that this should probably be changed to say something like > > "Improve optimization of self-joins on ctid columns" or "Improve > > optimization of joins involving columns of type tid." > > The latter seems fine to me. I have updated to use the later wording. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription +