By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
Help with an interesting Postgres question: Why isn't an Index Only Scan used on a partition accessed via the parent table?.
CREATE TABLE
id | path_id | node |
---|---|---|
1 | p1 | n1 |
2 | p1 | n2 |
3 | p1 | n3 |
4 | p2 | n1 |
5 | p2 | n2 |
6 | p2 | n4 |
INSERT 0 6
edges |
---|
{"n1": null, "n2": "n1", "n3": "n2", "n4": "n2"} |
SELECT 1
edges |
---|
{"n2": "n1", "n3": "n2", "n4": "n2"} |
SELECT 1
node | parent |
---|---|
n1 | null |
n1 | null |
n2 | n1 |
n2 | n1 |
n3 | n2 |
n4 | n2 |
SELECT 6
node | parent |
---|---|
n1 | null |
n2 | n1 |
n3 | n2 |
n4 | n2 |
SELECT 4
edges |
---|
[{"node":"n1","parent":null}, {"node":"n2","parent":"n1"}, {"node":"n3","parent":"n2"}, {"node":"n4","parent":"n2"}] |
SELECT 1