From: | Dominique Devienne <ddevienne(at)gmail(dot)com> |
---|---|
To: | Ron <ronljohnsonjr(at)gmail(dot)com> |
Cc: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: Cluster table based on grand parent? |
Date: | 2023-03-28 16:28:52 |
Message-ID: | CAFCRh-9+CQnoPtavF2rhahcHf7Rvszrk3XBdyJa5B=e5zV38Cg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Tue, Mar 28, 2023 at 6:06 PM Ron <ronljohnsonjr(at)gmail(dot)com> wrote:
> You can only get from parent to grandchild via child.id to
> grandchild.parent, so why not cluster grandchild on grandchild.parent?
>
Hi. I don't understand your question. Yes, of course, if I want all
grand-children of a given parent, I'll do for example:
select p.id, c.id, c.name, gc.*
from grandchild gc
join child c on gc.parent = c.id
join parent p on c.parent = p.id
where p.name = $1
But w/o clustering on a denormalized grandchild.grandparent FK column, as
Peter showed,
and cluster only on grandchild.parent, that's not going to access a mostly
continuous range
of pages to fetch those all grandchild rows for that one parent. But
probably 10 to 50 "row-clusters",
given the fan-out I mentioned earlier at the child-table level. Or am I
missing something?
From | Date | Subject | |
---|---|---|---|
Next Message | Maciek Sakrejda | 2023-03-28 16:45:48 | Re: Using CTID system column as a "temporary" primary key |
Previous Message | Ron | 2023-03-28 16:05:54 | Re: Cluster table based on grand parent? |