Post #4398816
2026-07-24 22:29 UTC
@okennedy@discuss.systems here's a concrete example:
O(g1, g2) G(g1, e1) G(g2, e2) E(e1, v) E(e2, v)
FDs:
G(g, e): g determines e uniquely
E(e, v): e determines v uniquely
so there are at most |O| results for this query.
But, if my database is:
E(e_1, v) ... E(e_n, v)
G(g, e_1) ... G(g, e_n)
and no O() facts at all
there are no query results but a WCOJ can do n^2 > |O| work with variable order v, e1, e2, g1, g2:
v <- {v : ∃e. E(e,v)}
e1 <- {e : E(e,v) and ∃g. G(g,e)}
e2 <- {e : E(e,v) and ∃g. G(g,e)}
...
Replies (0)
No replies.