ab =mjSession.sql("SELECT * FROM a, b WHERE a.y = b.y")
cd =mjSession.sql("SELECT * FROM c, d WHERE c.s = d.s")
ab.join(cd, $"b.z"=== $"c.z" && $"a.x"=== $"d.x")
QueryPlan:
HyMJ-H:
HyMJ-E:
Twitter-Q2
SQL:
gh =mjSession.sql("SELECT * FROM g, h WHERE g.q = h.q")
abef =mjSession.sql("SELECT * FROM a, b, e, f WHERE a.y = b.y AND b.z = e.z AND e.x = a.x AND e.z = f.z")
abef.join(gh, $"f.p"=== $"g.p" && $"a.y"=== $"h.y")
QueryPlan:
HyMJ-H:
HyMJ-E:
Twitter-Q3
SQL:
abef =mjSession.sql("SELECT * FROM a, b, e, f WHERE a.y = b.y AND b.z = e.z AND e.x = a.x AND e.z = f.z")
gij =mjSession.sql("SELECT * FROM g, i, j WHERE g.q = i.q AND i.r = j.r AND j.p = g.p")
abef.join(gij, $"f.p"=== $"g.p")
QueryPlan:
HyMJ-H:
HyMJ-E:
PPI-Q1
SQL:
mjSession.sql("SELECT * FROM R, S, T WHERE R.b = S.b AND S.c = T.c")
QueryPlan:
HyMJ-H:
HyMJ-E:
PPI-Q2
SQL:
mjSession.sql("SELECT * FROM R, S, P WHERE R.b = S.b AND S.c = P.c AND P.a = R.a")
QueryPlan:
HyMJ-H:
HyMJ-E:
PPI-Q3
SQL:
val rsp =mjSession.sql("SELECT * FROM R, S, P WHERE R.b = S.b AND S.c = P.c AND P.a = R.a")
val tq =mjSession.sql("SELECT * FROM Q, T WHERE Q.d = T.d")
rsp.join(tq, $"R.a"=== $"Q.a" && $"S.c"=== $"T.c")
QueryPlan:
HyMJ-H:
HyMJ-E:
DBLP-Q1
SQL:
mjSession.sql(SELECT*FROM PA_1, PA_2, PC WHEREPA_1.pid=PC.pidANDPA_2.pid=PC.pidANDPA_1.aid=PA_2.aid)
QueryPlan:
HyMJ-H:
HyMJ-E:
DBLP-Q2
SQL:
mjSession.sql(SELECT*FROM PT, PA, CA, AN WHEREPT.pid=PA.pidANDPA.aid=CA.aidANDAN.aid=CA.coaid)
QueryPlan:
HyMJ-H:
HyMJ-E:
DBLP-Q3
SQL:
mjSession.sql(SELECT*FROM PA_1, PA_2, PC, CA, AN WHEREPA_1.pid=PC.pidANDPA_2.pid=PC.pidANDPA_1.aid=PA_2.aidANDPA_1.aid=CA.aidANDCA.coaid=AN.aid)