On 3/28/23 11:28, Dominique Devienne 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:
from grandchild gc
join child c on gc.parent =
c.id join parent p on c.parent =
p.id
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?
No, you're not missing something. If you want to go directly from grandparent to grandchild, then you need to put grandparent_id in the grandchild table.
Rob Sargent is right, too, though:
practically it might not make a difference. You've got to test.
--
Born in Arizona, moved to Babylonia.