config root man

Current Path : /home/usr.opt/mysql57/mysql-test/suite/ndb/r/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : //home/usr.opt/mysql57/mysql-test/suite/ndb/r/ndb_bushy_joins.result

create table parent(a int primary key, b int, c int, d int) engine=ndb;
create table eq_child(a int, b int, c int, d int, primary key(a,b)) engine=ndb;
create table ref_child(a int, b int, c int, d int, primary key(a,b)) engine=ndb;
alter table parent partition by key(a) partitions 32;
alter table eq_child  partition by key(a) partitions 32;
alter table ref_child  partition by key(a) partitions 32;
insert into parent values (1,1,1,1);
insert into parent select a+1, b+1, c+1, d+1  from parent;
insert into parent select a+1*2, b+1*2, c+1*2, d+1*2  from parent;
insert into parent select a+1*2*2, b+1*2*2, c+1*2*2, d+1*2*2  from parent;
insert into parent select a+1*2*2*2, b+1*2*2*2, c+1*2*2*2, d+1*2*2*2  from parent;
insert into parent select a+1*2*2*2*2, b+1*2*2*2*2, c+1*2*2*2*2, d+1*2*2*2*2  from parent;
insert into parent select a+1*2*2*2*2*2, b+1*2*2*2*2*2, c+1*2*2*2*2*2, d+1*2*2*2*2*2  from parent;
insert into parent select a+1*2*2*2*2*2*2, b+1*2*2*2*2*2*2, c+1*2*2*2*2*2*2, d+1*2*2*2*2*2*2  from parent;
insert into parent select a+1*2*2*2*2*2*2*2, b+1*2*2*2*2*2*2*2, c+1*2*2*2*2*2*2*2, d+1*2*2*2*2*2*2*2  from parent;
insert into parent select a+1*2*2*2*2*2*2*2*2, b+1*2*2*2*2*2*2*2*2, c+1*2*2*2*2*2*2*2*2, d+1*2*2*2*2*2*2*2*2  from parent;
insert into parent select a+1*2*2*2*2*2*2*2*2*2, b+1*2*2*2*2*2*2*2*2*2, c+1*2*2*2*2*2*2*2*2*2, d+1*2*2*2*2*2*2*2*2*2  from parent;
insert into parent select a+1*2*2*2*2*2*2*2*2*2*2, b+1*2*2*2*2*2*2*2*2*2*2, c+1*2*2*2*2*2*2*2*2*2*2, d+1*2*2*2*2*2*2*2*2*2*2  from parent;
insert into parent select a+1*2*2*2*2*2*2*2*2*2*2*2, b+1*2*2*2*2*2*2*2*2*2*2*2, c+1*2*2*2*2*2*2*2*2*2*2*2, d+1*2*2*2*2*2*2*2*2*2*2*2  from parent;
insert into parent select a+1*2*2*2*2*2*2*2*2*2*2*2*2, b+1*2*2*2*2*2*2*2*2*2*2*2*2, c+1*2*2*2*2*2*2*2*2*2*2*2*2, d+1*2*2*2*2*2*2*2*2*2*2*2*2  from parent;
select count(*) from parent;
count(*)
8192
insert into eq_child select * from parent;
insert into ref_child select * from parent;
update ref_child set a = a-(a%16) where a > 4000;
analyze table parent, eq_child, ref_child;
Table	Op	Msg_type	Msg_text
test.parent	analyze	status	OK
test.eq_child	analyze	status	OK
test.ref_child	analyze	status	OK
set ndb_join_pushdown = on;
call mtr.add_suppression("starting connect thread");
===============================
Run single instance of 'query1' 
===============================
explain select straight_join count(*) from parent
join eq_child as c1 on c1.a = parent.b and c1.b = parent.b
join eq_child as c2 on c2.a = parent.b and c2.b = parent.b
join eq_child as c3 on c3.a = parent.b and c3.b = parent.b
join eq_child as c4 on c4.a = parent.b and c4.b = parent.b
join eq_child as c5 on c5.a = parent.b and c5.b = parent.b
join eq_child as c6 on c6.a = parent.b and c6.b = parent.b
join eq_child as c7 on c7.a = parent.b and c7.b = parent.b
join eq_child as c8 on c8.a = parent.b and c8.b = parent.b
join eq_child as c9 on c9.a = parent.b and c9.b = parent.b
join eq_child as c10 on c10.a = parent.b and c10.b = parent.b
join eq_child as c11 on c11.a = parent.b and c11.b = parent.b
join eq_child as c12 on c12.a = parent.b and c12.b = parent.b
join eq_child as c13 on c13.a = parent.b and c13.b = parent.b
join eq_child as c14 on c14.a = parent.b and c14.b = parent.b
join eq_child as c15 on c15.a = parent.b and c15.b = parent.b
join eq_child as c16 on c16.a = parent.b and c16.b = parent.b
;
id	select_type	table	partitions	type	possible_keys	key	key_len	ref	rows	filtered	Extra
1	SIMPLE	parent	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ALL	NULL	NULL	NULL	NULL	8192	100.00	Parent of 17 pushed join@1; Using where with pushed condition ((`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null))
1	SIMPLE	c1	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'parent' in pushed join@1
1	SIMPLE	c2	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c1' in pushed join@1
1	SIMPLE	c3	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c2' in pushed join@1
1	SIMPLE	c4	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c3' in pushed join@1
1	SIMPLE	c5	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c4' in pushed join@1
1	SIMPLE	c6	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c5' in pushed join@1
1	SIMPLE	c7	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c6' in pushed join@1
1	SIMPLE	c8	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c7' in pushed join@1
1	SIMPLE	c9	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c8' in pushed join@1
1	SIMPLE	c10	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c9' in pushed join@1
1	SIMPLE	c11	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c10' in pushed join@1
1	SIMPLE	c12	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c11' in pushed join@1
1	SIMPLE	c13	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c12' in pushed join@1
1	SIMPLE	c14	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c13' in pushed join@1
1	SIMPLE	c15	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c14' in pushed join@1
1	SIMPLE	c16	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c15' in pushed join@1
Warnings:
Note	1003	/* select#1 */ select straight_join count(0) AS `count(*)` from `test`.`parent` join `test`.`eq_child` `c1` join `test`.`eq_child` `c2` join `test`.`eq_child` `c3` join `test`.`eq_child` `c4` join `test`.`eq_child` `c5` join `test`.`eq_child` `c6` join `test`.`eq_child` `c7` join `test`.`eq_child` `c8` join `test`.`eq_child` `c9` join `test`.`eq_child` `c10` join `test`.`eq_child` `c11` join `test`.`eq_child` `c12` join `test`.`eq_child` `c13` join `test`.`eq_child` `c14` join `test`.`eq_child` `c15` join `test`.`eq_child` `c16` where ((`test`.`c1`.`a` = `test`.`parent`.`b`) and (`test`.`c1`.`b` = `test`.`parent`.`b`) and (`test`.`c2`.`a` = `test`.`parent`.`b`) and (`test`.`c2`.`b` = `test`.`parent`.`b`) and (`test`.`c3`.`a` = `test`.`parent`.`b`) and (`test`.`c3`.`b` = `test`.`parent`.`b`) and (`test`.`c4`.`a` = `test`.`parent`.`b`) and (`test`.`c4`.`b` = `test`.`parent`.`b`) and (`test`.`c5`.`a` = `test`.`parent`.`b`) and (`test`.`c5`.`b` = `test`.`parent`.`b`) and (`test`.`c6`.`a` = `test`.`parent`.`b`) and (`test`.`c6`.`b` = `test`.`parent`.`b`) and (`test`.`c7`.`a` = `test`.`parent`.`b`) and (`test`.`c7`.`b` = `test`.`parent`.`b`) and (`test`.`c8`.`a` = `test`.`parent`.`b`) and (`test`.`c8`.`b` = `test`.`parent`.`b`) and (`test`.`c9`.`a` = `test`.`parent`.`b`) and (`test`.`c9`.`b` = `test`.`parent`.`b`) and (`test`.`c10`.`a` = `test`.`parent`.`b`) and (`test`.`c10`.`b` = `test`.`parent`.`b`) and (`test`.`c11`.`a` = `test`.`parent`.`b`) and (`test`.`c11`.`b` = `test`.`parent`.`b`) and (`test`.`c12`.`a` = `test`.`parent`.`b`) and (`test`.`c12`.`b` = `test`.`parent`.`b`) and (`test`.`c13`.`a` = `test`.`parent`.`b`) and (`test`.`c13`.`b` = `test`.`parent`.`b`) and (`test`.`c14`.`a` = `test`.`parent`.`b`) and (`test`.`c14`.`b` = `test`.`parent`.`b`) and (`test`.`c15`.`a` = `test`.`parent`.`b`) and (`test`.`c15`.`b` = `test`.`parent`.`b`) and (`test`.`c16`.`a` = `test`.`parent`.`b`) and (`test`.`c16`.`b` = `test`.`parent`.`b`))
select straight_join count(*) from parent
join eq_child as c1 on c1.a = parent.b and c1.b = parent.b
join eq_child as c2 on c2.a = parent.b and c2.b = parent.b
join eq_child as c3 on c3.a = parent.b and c3.b = parent.b
join eq_child as c4 on c4.a = parent.b and c4.b = parent.b
join eq_child as c5 on c5.a = parent.b and c5.b = parent.b
join eq_child as c6 on c6.a = parent.b and c6.b = parent.b
join eq_child as c7 on c7.a = parent.b and c7.b = parent.b
join eq_child as c8 on c8.a = parent.b and c8.b = parent.b
join eq_child as c9 on c9.a = parent.b and c9.b = parent.b
join eq_child as c10 on c10.a = parent.b and c10.b = parent.b
join eq_child as c11 on c11.a = parent.b and c11.b = parent.b
join eq_child as c12 on c12.a = parent.b and c12.b = parent.b
join eq_child as c13 on c13.a = parent.b and c13.b = parent.b
join eq_child as c14 on c14.a = parent.b and c14.b = parent.b
join eq_child as c15 on c15.a = parent.b and c15.b = parent.b
join eq_child as c16 on c16.a = parent.b and c16.b = parent.b
;
count(*)
8192
===============================
Run single instance of 'query2' 
===============================
explain select straight_join count(*) from parent
join eq_child as c1 on c1.a = parent.b and c1.b = parent.b
join eq_child as c5 on c5.a = c1.c and c5.b = c1.c
join eq_child as c6 on c6.a = c1.c and c6.b = c1.c
join eq_child as c7 on c7.a = c1.c and c7.b = c1.c
join eq_child as c8 on c8.a = c1.c and c8.b = c1.c
join eq_child as c2 on c2.a = parent.b and c2.b = parent.b
join eq_child as c9  on c9.a = c2.c  and c9.b  = c2.c
join eq_child as c10 on c10.a = c2.c and c10.b = c2.c
join eq_child as c11 on c11.a = c2.c and c11.b = c2.c
join eq_child as c12 on c12.a = c2.c and c12.b = c2.c
join eq_child as c3 on c3.a = parent.b and c3.b = parent.b
join eq_child as c13 on c13.a = c3.c and c13.b = c3.c
join eq_child as c14 on c14.a = c3.c and c14.b = c3.c
join eq_child as c15 on c15.a = c3.c and c15.b = c3.c
join eq_child as c16 on c16.a = c3.c and c16.b = c3.c
join eq_child as c4 on c4.a = parent.b and c4.b = parent.b
join eq_child as c17 on c17.a = c4.c and c17.b = c4.c
join eq_child as c18 on c18.a = c4.c and c18.b = c4.c
join eq_child as c19 on c19.a = c4.c and c19.b = c4.c
join eq_child as c20 on c20.a = c4.c and c20.b = c4.c
;
id	select_type	table	partitions	type	possible_keys	key	key_len	ref	rows	filtered	Extra
1	SIMPLE	parent	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ALL	NULL	NULL	NULL	NULL	8192	100.00	Parent of 21 pushed join@1; Using where with pushed condition ((`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null))
1	SIMPLE	c1	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'parent' in pushed join@1; Using where with pushed condition ((`test`.`c1`.`c` is not null) and (`test`.`c1`.`c` is not null) and (`test`.`c1`.`c` is not null) and (`test`.`c1`.`c` is not null) and (`test`.`c1`.`c` is not null) and (`test`.`c1`.`c` is not null))
1	SIMPLE	c5	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c1.c,test.c1.c	1	100.00	Child of 'c1' in pushed join@1
1	SIMPLE	c6	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c1.c,test.c1.c	1	100.00	Child of 'c5' in pushed join@1
1	SIMPLE	c7	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c1.c,test.c1.c	1	100.00	Child of 'c6' in pushed join@1
1	SIMPLE	c8	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c1.c,test.c1.c	1	100.00	Child of 'c7' in pushed join@1
1	SIMPLE	c2	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c1' in pushed join@1; Using where with pushed condition ((`test`.`c2`.`c` is not null) and (`test`.`c2`.`c` is not null) and (`test`.`c2`.`c` is not null))
1	SIMPLE	c9	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c2.c,test.c2.c	1	100.00	Child of 'c2' in pushed join@1
1	SIMPLE	c10	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c2.c,test.c2.c	1	100.00	Child of 'c9' in pushed join@1
1	SIMPLE	c11	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c2.c,test.c2.c	1	100.00	Child of 'c10' in pushed join@1
1	SIMPLE	c12	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c2.c,test.c2.c	1	100.00	Child of 'c11' in pushed join@1
1	SIMPLE	c3	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c2' in pushed join@1; Using where with pushed condition ((`test`.`c3`.`c` is not null) and (`test`.`c3`.`c` is not null) and (`test`.`c3`.`c` is not null))
1	SIMPLE	c13	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c3.c,test.c3.c	1	100.00	Child of 'c3' in pushed join@1
1	SIMPLE	c14	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c3.c,test.c3.c	1	100.00	Child of 'c13' in pushed join@1
1	SIMPLE	c15	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c3.c,test.c3.c	1	100.00	Child of 'c14' in pushed join@1
1	SIMPLE	c16	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c3.c,test.c3.c	1	100.00	Child of 'c15' in pushed join@1
1	SIMPLE	c4	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c3' in pushed join@1; Using where with pushed condition ((`test`.`c4`.`c` is not null) and (`test`.`c4`.`c` is not null) and (`test`.`c4`.`c` is not null) and (`test`.`c4`.`c` is not null))
1	SIMPLE	c17	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c4.c,test.c4.c	1	100.00	Child of 'c4' in pushed join@1
1	SIMPLE	c18	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c4.c,test.c4.c	1	100.00	Child of 'c17' in pushed join@1
1	SIMPLE	c19	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c4.c,test.c4.c	1	100.00	Child of 'c18' in pushed join@1
1	SIMPLE	c20	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c4.c,test.c4.c	1	100.00	Child of 'c19' in pushed join@1
Warnings:
Note	1003	/* select#1 */ select straight_join count(0) AS `count(*)` from `test`.`parent` join `test`.`eq_child` `c1` join `test`.`eq_child` `c5` join `test`.`eq_child` `c6` join `test`.`eq_child` `c7` join `test`.`eq_child` `c8` join `test`.`eq_child` `c2` join `test`.`eq_child` `c9` join `test`.`eq_child` `c10` join `test`.`eq_child` `c11` join `test`.`eq_child` `c12` join `test`.`eq_child` `c3` join `test`.`eq_child` `c13` join `test`.`eq_child` `c14` join `test`.`eq_child` `c15` join `test`.`eq_child` `c16` join `test`.`eq_child` `c4` join `test`.`eq_child` `c17` join `test`.`eq_child` `c18` join `test`.`eq_child` `c19` join `test`.`eq_child` `c20` where ((`test`.`c5`.`a` = `test`.`c1`.`c`) and (`test`.`c5`.`b` = `test`.`c1`.`c`) and (`test`.`c6`.`a` = `test`.`c1`.`c`) and (`test`.`c6`.`b` = `test`.`c1`.`c`) and (`test`.`c7`.`a` = `test`.`c1`.`c`) and (`test`.`c7`.`b` = `test`.`c1`.`c`) and (`test`.`c8`.`a` = `test`.`c1`.`c`) and (`test`.`c8`.`b` = `test`.`c1`.`c`) and (`test`.`c9`.`a` = `test`.`c2`.`c`) and (`test`.`c9`.`b` = `test`.`c2`.`c`) and (`test`.`c10`.`a` = `test`.`c2`.`c`) and (`test`.`c10`.`b` = `test`.`c2`.`c`) and (`test`.`c11`.`a` = `test`.`c2`.`c`) and (`test`.`c11`.`b` = `test`.`c2`.`c`) and (`test`.`c12`.`a` = `test`.`c2`.`c`) and (`test`.`c12`.`b` = `test`.`c2`.`c`) and (`test`.`c13`.`a` = `test`.`c3`.`c`) and (`test`.`c13`.`b` = `test`.`c3`.`c`) and (`test`.`c14`.`a` = `test`.`c3`.`c`) and (`test`.`c14`.`b` = `test`.`c3`.`c`) and (`test`.`c15`.`a` = `test`.`c3`.`c`) and (`test`.`c15`.`b` = `test`.`c3`.`c`) and (`test`.`c16`.`a` = `test`.`c3`.`c`) and (`test`.`c16`.`b` = `test`.`c3`.`c`) and (`test`.`c1`.`a` = `test`.`parent`.`b`) and (`test`.`c1`.`b` = `test`.`parent`.`b`) and (`test`.`c2`.`a` = `test`.`parent`.`b`) and (`test`.`c2`.`b` = `test`.`parent`.`b`) and (`test`.`c3`.`a` = `test`.`parent`.`b`) and (`test`.`c3`.`b` = `test`.`parent`.`b`) and (`test`.`c4`.`a` = `test`.`parent`.`b`) and (`test`.`c4`.`b` = `test`.`parent`.`b`) and (`test`.`c17`.`a` = `test`.`c4`.`c`) and (`test`.`c17`.`b` = `test`.`c4`.`c`) and (`test`.`c18`.`a` = `test`.`c4`.`c`) and (`test`.`c18`.`b` = `test`.`c4`.`c`) and (`test`.`c19`.`a` = `test`.`c4`.`c`) and (`test`.`c19`.`b` = `test`.`c4`.`c`) and (`test`.`c20`.`a` = `test`.`c4`.`c`) and (`test`.`c20`.`b` = `test`.`c4`.`c`))
select straight_join count(*) from parent
join eq_child as c1 on c1.a = parent.b and c1.b = parent.b
join eq_child as c5 on c5.a = c1.c and c5.b = c1.c
join eq_child as c6 on c6.a = c1.c and c6.b = c1.c
join eq_child as c7 on c7.a = c1.c and c7.b = c1.c
join eq_child as c8 on c8.a = c1.c and c8.b = c1.c
join eq_child as c2 on c2.a = parent.b and c2.b = parent.b
join eq_child as c9  on c9.a = c2.c  and c9.b  = c2.c
join eq_child as c10 on c10.a = c2.c and c10.b = c2.c
join eq_child as c11 on c11.a = c2.c and c11.b = c2.c
join eq_child as c12 on c12.a = c2.c and c12.b = c2.c
join eq_child as c3 on c3.a = parent.b and c3.b = parent.b
join eq_child as c13 on c13.a = c3.c and c13.b = c3.c
join eq_child as c14 on c14.a = c3.c and c14.b = c3.c
join eq_child as c15 on c15.a = c3.c and c15.b = c3.c
join eq_child as c16 on c16.a = c3.c and c16.b = c3.c
join eq_child as c4 on c4.a = parent.b and c4.b = parent.b
join eq_child as c17 on c17.a = c4.c and c17.b = c4.c
join eq_child as c18 on c18.a = c4.c and c18.b = c4.c
join eq_child as c19 on c19.a = c4.c and c19.b = c4.c
join eq_child as c20 on c20.a = c4.c and c20.b = c4.c
;
count(*)
8192
===============================
Run single instance of 'query3' 
===============================
explain select straight_join count(*) from parent
join ref_child as c1 on c1.a = parent.b
join ref_child as c2 on c2.a = parent.b
join ref_child as c3 on c3.a = parent.b
join ref_child as c4 on c4.a = parent.b
join ref_child as c5 on c5.a = parent.b
join ref_child as c6 on c6.a = parent.b
join ref_child as c7 on c7.a = parent.b
join ref_child as c8 on c8.a = parent.b
join ref_child as c9 on c9.a = parent.b
join ref_child as c10 on c10.a = parent.b
join ref_child as c11 on c11.a = parent.b
join ref_child as c12 on c12.a = parent.b
join ref_child as c13 on c13.a = parent.b
join ref_child as c14 on c14.a = parent.b
join ref_child as c15 on c15.a = parent.b
join ref_child as c16 on c16.a = parent.b
where parent.a < 1000
;
id	select_type	table	partitions	type	possible_keys	key	key_len	ref	rows	filtered	Extra
1	SIMPLE	parent	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	range	PRIMARY	PRIMARY	4	NULL	###	###	Parent of 17 pushed join@1; Using where with pushed condition ((`test`.`parent`.`a` < 1000) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null)); Using MRR
1	SIMPLE	c1	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c2	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c3	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c4	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c5	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c6	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c7	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c8	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c9	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c10	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c11	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c12	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c13	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c14	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c15	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c16	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
Warnings:
Note	1003	/* select#1 */ select straight_join count(0) AS `count(*)` from `test`.`parent` join `test`.`ref_child` `c1` join `test`.`ref_child` `c2` join `test`.`ref_child` `c3` join `test`.`ref_child` `c4` join `test`.`ref_child` `c5` join `test`.`ref_child` `c6` join `test`.`ref_child` `c7` join `test`.`ref_child` `c8` join `test`.`ref_child` `c9` join `test`.`ref_child` `c10` join `test`.`ref_child` `c11` join `test`.`ref_child` `c12` join `test`.`ref_child` `c13` join `test`.`ref_child` `c14` join `test`.`ref_child` `c15` join `test`.`ref_child` `c16` where ((`test`.`c1`.`a` = `test`.`parent`.`b`) and (`test`.`c2`.`a` = `test`.`parent`.`b`) and (`test`.`c3`.`a` = `test`.`parent`.`b`) and (`test`.`c4`.`a` = `test`.`parent`.`b`) and (`test`.`c5`.`a` = `test`.`parent`.`b`) and (`test`.`c6`.`a` = `test`.`parent`.`b`) and (`test`.`c7`.`a` = `test`.`parent`.`b`) and (`test`.`c8`.`a` = `test`.`parent`.`b`) and (`test`.`c9`.`a` = `test`.`parent`.`b`) and (`test`.`c10`.`a` = `test`.`parent`.`b`) and (`test`.`c11`.`a` = `test`.`parent`.`b`) and (`test`.`c12`.`a` = `test`.`parent`.`b`) and (`test`.`c13`.`a` = `test`.`parent`.`b`) and (`test`.`c14`.`a` = `test`.`parent`.`b`) and (`test`.`c15`.`a` = `test`.`parent`.`b`) and (`test`.`c16`.`a` = `test`.`parent`.`b`) and (`test`.`parent`.`a` < 1000))
select straight_join count(*) from parent
join ref_child as c1 on c1.a = parent.b
join ref_child as c2 on c2.a = parent.b
join ref_child as c3 on c3.a = parent.b
join ref_child as c4 on c4.a = parent.b
join ref_child as c5 on c5.a = parent.b
join ref_child as c6 on c6.a = parent.b
join ref_child as c7 on c7.a = parent.b
join ref_child as c8 on c8.a = parent.b
join ref_child as c9 on c9.a = parent.b
join ref_child as c10 on c10.a = parent.b
join ref_child as c11 on c11.a = parent.b
join ref_child as c12 on c12.a = parent.b
join ref_child as c13 on c13.a = parent.b
join ref_child as c14 on c14.a = parent.b
join ref_child as c15 on c15.a = parent.b
join ref_child as c16 on c16.a = parent.b
where parent.a < 1000
;
count(*)
999
===============================
Run single instance of 'query4' 
===============================
explain select straight_join count(*) from parent
join ref_child as c1 on c1.a = parent.b
join eq_child as c1eq on c1eq.a = c1.a and c1eq.b = c1.b
join ref_child as c2 on c2.a = parent.b
join eq_child as c2eq on c2eq.a = c2.a and c2eq.b = c2.b
join ref_child as c3 on c3.a = parent.b
join eq_child as c3eq on c3eq.a = c3.a and c3eq.b = c3.b
join ref_child as c4 on c4.a = parent.b
join eq_child as c4eq on c4eq.a = c4.a and c4eq.b = c4.b
join ref_child as c5 on c5.a = parent.b
join eq_child as c5eq on c5eq.a = c5.a and c5eq.b = c5.b
join ref_child as c6 on c6.a = parent.b
join eq_child as c6eq on c6eq.a = c6.a and c6eq.b = c6.b
join ref_child as c7 on c7.a = parent.b
join eq_child as c7eq on c7eq.a = c7.a and c7eq.b = c7.b
join ref_child as c8 on c8.a = parent.b
join eq_child as c8eq on c8eq.a = c8.a and c8eq.b = c8.b
join ref_child as c9 on c9.a = parent.b
join eq_child as c9eq on c9eq.a = c9.a and c9eq.b = c9.b
join ref_child as c10 on c10.a = parent.b
join eq_child as c10eq on c10eq.a = c10.a and c10eq.b = c10.b
join ref_child as c11 on c11.a = parent.b
join eq_child as c11eq on c11eq.a = c11.a and c11eq.b = c11.b
join ref_child as c12 on c12.a = parent.b
join eq_child as c12eq on c12eq.a = c12.a and c12eq.b = c12.b
join ref_child as c13 on c13.a = parent.b
join eq_child as c13eq on c13eq.a = c13.a and c13eq.b = c13.b
join ref_child as c14 on c14.a = parent.b
join eq_child as c14eq on c14eq.a = c14.a and c14eq.b = c14.b
join ref_child as c15 on c15.a = parent.b
join eq_child as c15eq on c15eq.a = c15.a and c15eq.b = c15.b
join ref_child as c16 on c16.a = parent.b
join eq_child as c16eq on c16eq.a = c16.a and c16eq.b = c16.b
where parent.a < 1000
;
id	select_type	table	partitions	type	possible_keys	key	key_len	ref	rows	filtered	Extra
1	SIMPLE	parent	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	range	PRIMARY	PRIMARY	4	NULL	###	###	Parent of 32 pushed join@1; Using where with pushed condition ((`test`.`parent`.`a` < 1000) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null)); Using MRR
1	SIMPLE	c1	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c1eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c1.b	###	###	Child of 'c1' in pushed join@1
1	SIMPLE	c2	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c2eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c2.b	###	###	Child of 'c2' in pushed join@1
1	SIMPLE	c3	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c3eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c3.b	###	###	Child of 'c3' in pushed join@1
1	SIMPLE	c4	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c4eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c4.b	###	###	Child of 'c4' in pushed join@1
1	SIMPLE	c5	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c5eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c5.b	###	###	Child of 'c5' in pushed join@1
1	SIMPLE	c6	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c6eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c6.b	###	###	Child of 'c6' in pushed join@1
1	SIMPLE	c7	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c7eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c7.b	###	###	Child of 'c7' in pushed join@1
1	SIMPLE	c8	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c8eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c8.b	###	###	Child of 'c8' in pushed join@1
1	SIMPLE	c9	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c9eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c9.b	###	###	Child of 'c9' in pushed join@1
1	SIMPLE	c10	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c10eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c10.b	###	###	Child of 'c10' in pushed join@1
1	SIMPLE	c11	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c11eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c11.b	###	###	Child of 'c11' in pushed join@1
1	SIMPLE	c12	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c12eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c12.b	###	###	Child of 'c12' in pushed join@1
1	SIMPLE	c13	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c13eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c13.b	###	###	Child of 'c13' in pushed join@1
1	SIMPLE	c14	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c14eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c14.b	###	###	Child of 'c14' in pushed join@1
1	SIMPLE	c15	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c15eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c15.b	###	###	Child of 'c15' in pushed join@1
1	SIMPLE	c16	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c16eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c16.b	###	###	NULL
Warnings:
Note	1003	Cannot push table 'c16eq' as child of 'parent'. Max number of pushable tables exceeded.
Note	1003	/* select#1 */ select straight_join count(0) AS `count(*)` from `test`.`parent` join `test`.`ref_child` `c1` join `test`.`eq_child` `c1eq` join `test`.`ref_child` `c2` join `test`.`eq_child` `c2eq` join `test`.`ref_child` `c3` join `test`.`eq_child` `c3eq` join `test`.`ref_child` `c4` join `test`.`eq_child` `c4eq` join `test`.`ref_child` `c5` join `test`.`eq_child` `c5eq` join `test`.`ref_child` `c6` join `test`.`eq_child` `c6eq` join `test`.`ref_child` `c7` join `test`.`eq_child` `c7eq` join `test`.`ref_child` `c8` join `test`.`eq_child` `c8eq` join `test`.`ref_child` `c9` join `test`.`eq_child` `c9eq` join `test`.`ref_child` `c10` join `test`.`eq_child` `c10eq` join `test`.`ref_child` `c11` join `test`.`eq_child` `c11eq` join `test`.`ref_child` `c12` join `test`.`eq_child` `c12eq` join `test`.`ref_child` `c13` join `test`.`eq_child` `c13eq` join `test`.`ref_child` `c14` join `test`.`eq_child` `c14eq` join `test`.`ref_child` `c15` join `test`.`eq_child` `c15eq` join `test`.`ref_child` `c16` join `test`.`eq_child` `c16eq` where ((`test`.`c1eq`.`b` = `test`.`c1`.`b`) and (`test`.`c1`.`a` = `test`.`parent`.`b`) and (`test`.`c1eq`.`a` = `test`.`parent`.`b`) and (`test`.`c2`.`a` = `test`.`parent`.`b`) and (`test`.`c2eq`.`a` = `test`.`parent`.`b`) and (`test`.`c3`.`a` = `test`.`parent`.`b`) and (`test`.`c3eq`.`a` = `test`.`parent`.`b`) and (`test`.`c4`.`a` = `test`.`parent`.`b`) and (`test`.`c4eq`.`a` = `test`.`parent`.`b`) and (`test`.`c5`.`a` = `test`.`parent`.`b`) and (`test`.`c5eq`.`a` = `test`.`parent`.`b`) and (`test`.`c6`.`a` = `test`.`parent`.`b`) and (`test`.`c6eq`.`a` = `test`.`parent`.`b`) and (`test`.`c7`.`a` = `test`.`parent`.`b`) and (`test`.`c7eq`.`a` = `test`.`parent`.`b`) and (`test`.`c8`.`a` = `test`.`parent`.`b`) and (`test`.`c8eq`.`a` = `test`.`parent`.`b`) and (`test`.`c9`.`a` = `test`.`parent`.`b`) and (`test`.`c9eq`.`a` = `test`.`parent`.`b`) and (`test`.`c10`.`a` = `test`.`parent`.`b`) and (`test`.`c10eq`.`a` = `test`.`parent`.`b`) and (`test`.`c11`.`a` = `test`.`parent`.`b`) and (`test`.`c11eq`.`a` = `test`.`parent`.`b`) and (`test`.`c12`.`a` = `test`.`parent`.`b`) and (`test`.`c12eq`.`a` = `test`.`parent`.`b`) and (`test`.`c13`.`a` = `test`.`parent`.`b`) and (`test`.`c13eq`.`a` = `test`.`parent`.`b`) and (`test`.`c14`.`a` = `test`.`parent`.`b`) and (`test`.`c14eq`.`a` = `test`.`parent`.`b`) and (`test`.`c15`.`a` = `test`.`parent`.`b`) and (`test`.`c15eq`.`a` = `test`.`parent`.`b`) and (`test`.`c16`.`a` = `test`.`parent`.`b`) and (`test`.`c16eq`.`a` = `test`.`parent`.`b`) and (`test`.`c2eq`.`b` = `test`.`c2`.`b`) and (`test`.`c3eq`.`b` = `test`.`c3`.`b`) and (`test`.`c4eq`.`b` = `test`.`c4`.`b`) and (`test`.`c5eq`.`b` = `test`.`c5`.`b`) and (`test`.`c6eq`.`b` = `test`.`c6`.`b`) and (`test`.`c7eq`.`b` = `test`.`c7`.`b`) and (`test`.`c8eq`.`b` = `test`.`c8`.`b`) and (`test`.`c9eq`.`b` = `test`.`c9`.`b`) and (`test`.`c10eq`.`b` = `test`.`c10`.`b`) and (`test`.`c11eq`.`b` = `test`.`c11`.`b`) and (`test`.`c12eq`.`b` = `test`.`c12`.`b`) and (`test`.`c13eq`.`b` = `test`.`c13`.`b`) and (`test`.`c14eq`.`b` = `test`.`c14`.`b`) and (`test`.`c15eq`.`b` = `test`.`c15`.`b`) and (`test`.`c16eq`.`b` = `test`.`c16`.`b`) and (`test`.`parent`.`a` < 1000))
select straight_join count(*) from parent
join ref_child as c1 on c1.a = parent.b
join eq_child as c1eq on c1eq.a = c1.a and c1eq.b = c1.b
join ref_child as c2 on c2.a = parent.b
join eq_child as c2eq on c2eq.a = c2.a and c2eq.b = c2.b
join ref_child as c3 on c3.a = parent.b
join eq_child as c3eq on c3eq.a = c3.a and c3eq.b = c3.b
join ref_child as c4 on c4.a = parent.b
join eq_child as c4eq on c4eq.a = c4.a and c4eq.b = c4.b
join ref_child as c5 on c5.a = parent.b
join eq_child as c5eq on c5eq.a = c5.a and c5eq.b = c5.b
join ref_child as c6 on c6.a = parent.b
join eq_child as c6eq on c6eq.a = c6.a and c6eq.b = c6.b
join ref_child as c7 on c7.a = parent.b
join eq_child as c7eq on c7eq.a = c7.a and c7eq.b = c7.b
join ref_child as c8 on c8.a = parent.b
join eq_child as c8eq on c8eq.a = c8.a and c8eq.b = c8.b
join ref_child as c9 on c9.a = parent.b
join eq_child as c9eq on c9eq.a = c9.a and c9eq.b = c9.b
join ref_child as c10 on c10.a = parent.b
join eq_child as c10eq on c10eq.a = c10.a and c10eq.b = c10.b
join ref_child as c11 on c11.a = parent.b
join eq_child as c11eq on c11eq.a = c11.a and c11eq.b = c11.b
join ref_child as c12 on c12.a = parent.b
join eq_child as c12eq on c12eq.a = c12.a and c12eq.b = c12.b
join ref_child as c13 on c13.a = parent.b
join eq_child as c13eq on c13eq.a = c13.a and c13eq.b = c13.b
join ref_child as c14 on c14.a = parent.b
join eq_child as c14eq on c14eq.a = c14.a and c14eq.b = c14.b
join ref_child as c15 on c15.a = parent.b
join eq_child as c15eq on c15eq.a = c15.a and c15eq.b = c15.b
join ref_child as c16 on c16.a = parent.b
join eq_child as c16eq on c16eq.a = c16.a and c16eq.b = c16.b
where parent.a < 1000
;
count(*)
999
=================================
Run multiple 'query1' in parallel 
=================================
explain select straight_join count(*) from parent
join eq_child as c1 on c1.a = parent.b and c1.b = parent.b
join eq_child as c2 on c2.a = parent.b and c2.b = parent.b
join eq_child as c3 on c3.a = parent.b and c3.b = parent.b
join eq_child as c4 on c4.a = parent.b and c4.b = parent.b
join eq_child as c5 on c5.a = parent.b and c5.b = parent.b
join eq_child as c6 on c6.a = parent.b and c6.b = parent.b
join eq_child as c7 on c7.a = parent.b and c7.b = parent.b
join eq_child as c8 on c8.a = parent.b and c8.b = parent.b
join eq_child as c9 on c9.a = parent.b and c9.b = parent.b
join eq_child as c10 on c10.a = parent.b and c10.b = parent.b
join eq_child as c11 on c11.a = parent.b and c11.b = parent.b
join eq_child as c12 on c12.a = parent.b and c12.b = parent.b
join eq_child as c13 on c13.a = parent.b and c13.b = parent.b
join eq_child as c14 on c14.a = parent.b and c14.b = parent.b
join eq_child as c15 on c15.a = parent.b and c15.b = parent.b
join eq_child as c16 on c16.a = parent.b and c16.b = parent.b
;
id	select_type	table	partitions	type	possible_keys	key	key_len	ref	rows	filtered	Extra
1	SIMPLE	parent	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ALL	NULL	NULL	NULL	NULL	8192	100.00	Parent of 17 pushed join@1; Using where with pushed condition ((`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null))
1	SIMPLE	c1	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'parent' in pushed join@1
1	SIMPLE	c2	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c1' in pushed join@1
1	SIMPLE	c3	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c2' in pushed join@1
1	SIMPLE	c4	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c3' in pushed join@1
1	SIMPLE	c5	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c4' in pushed join@1
1	SIMPLE	c6	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c5' in pushed join@1
1	SIMPLE	c7	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c6' in pushed join@1
1	SIMPLE	c8	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c7' in pushed join@1
1	SIMPLE	c9	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c8' in pushed join@1
1	SIMPLE	c10	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c9' in pushed join@1
1	SIMPLE	c11	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c10' in pushed join@1
1	SIMPLE	c12	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c11' in pushed join@1
1	SIMPLE	c13	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c12' in pushed join@1
1	SIMPLE	c14	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c13' in pushed join@1
1	SIMPLE	c15	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c14' in pushed join@1
1	SIMPLE	c16	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c15' in pushed join@1
Warnings:
Note	1003	/* select#1 */ select straight_join count(0) AS `count(*)` from `test`.`parent` join `test`.`eq_child` `c1` join `test`.`eq_child` `c2` join `test`.`eq_child` `c3` join `test`.`eq_child` `c4` join `test`.`eq_child` `c5` join `test`.`eq_child` `c6` join `test`.`eq_child` `c7` join `test`.`eq_child` `c8` join `test`.`eq_child` `c9` join `test`.`eq_child` `c10` join `test`.`eq_child` `c11` join `test`.`eq_child` `c12` join `test`.`eq_child` `c13` join `test`.`eq_child` `c14` join `test`.`eq_child` `c15` join `test`.`eq_child` `c16` where ((`test`.`c1`.`a` = `test`.`parent`.`b`) and (`test`.`c1`.`b` = `test`.`parent`.`b`) and (`test`.`c2`.`a` = `test`.`parent`.`b`) and (`test`.`c2`.`b` = `test`.`parent`.`b`) and (`test`.`c3`.`a` = `test`.`parent`.`b`) and (`test`.`c3`.`b` = `test`.`parent`.`b`) and (`test`.`c4`.`a` = `test`.`parent`.`b`) and (`test`.`c4`.`b` = `test`.`parent`.`b`) and (`test`.`c5`.`a` = `test`.`parent`.`b`) and (`test`.`c5`.`b` = `test`.`parent`.`b`) and (`test`.`c6`.`a` = `test`.`parent`.`b`) and (`test`.`c6`.`b` = `test`.`parent`.`b`) and (`test`.`c7`.`a` = `test`.`parent`.`b`) and (`test`.`c7`.`b` = `test`.`parent`.`b`) and (`test`.`c8`.`a` = `test`.`parent`.`b`) and (`test`.`c8`.`b` = `test`.`parent`.`b`) and (`test`.`c9`.`a` = `test`.`parent`.`b`) and (`test`.`c9`.`b` = `test`.`parent`.`b`) and (`test`.`c10`.`a` = `test`.`parent`.`b`) and (`test`.`c10`.`b` = `test`.`parent`.`b`) and (`test`.`c11`.`a` = `test`.`parent`.`b`) and (`test`.`c11`.`b` = `test`.`parent`.`b`) and (`test`.`c12`.`a` = `test`.`parent`.`b`) and (`test`.`c12`.`b` = `test`.`parent`.`b`) and (`test`.`c13`.`a` = `test`.`parent`.`b`) and (`test`.`c13`.`b` = `test`.`parent`.`b`) and (`test`.`c14`.`a` = `test`.`parent`.`b`) and (`test`.`c14`.`b` = `test`.`parent`.`b`) and (`test`.`c15`.`a` = `test`.`parent`.`b`) and (`test`.`c15`.`b` = `test`.`parent`.`b`) and (`test`.`c16`.`a` = `test`.`parent`.`b`) and (`test`.`c16`.`b` = `test`.`parent`.`b`))
select straight_join count(*) from parent
join eq_child as c1 on c1.a = parent.b and c1.b = parent.b
join eq_child as c2 on c2.a = parent.b and c2.b = parent.b
join eq_child as c3 on c3.a = parent.b and c3.b = parent.b
join eq_child as c4 on c4.a = parent.b and c4.b = parent.b
join eq_child as c5 on c5.a = parent.b and c5.b = parent.b
join eq_child as c6 on c6.a = parent.b and c6.b = parent.b
join eq_child as c7 on c7.a = parent.b and c7.b = parent.b
join eq_child as c8 on c8.a = parent.b and c8.b = parent.b
join eq_child as c9 on c9.a = parent.b and c9.b = parent.b
join eq_child as c10 on c10.a = parent.b and c10.b = parent.b
join eq_child as c11 on c11.a = parent.b and c11.b = parent.b
join eq_child as c12 on c12.a = parent.b and c12.b = parent.b
join eq_child as c13 on c13.a = parent.b and c13.b = parent.b
join eq_child as c14 on c14.a = parent.b and c14.b = parent.b
join eq_child as c15 on c15.a = parent.b and c15.b = parent.b
join eq_child as c16 on c16.a = parent.b and c16.b = parent.b
;
select straight_join count(*) from parent
join eq_child as c1 on c1.a = parent.b and c1.b = parent.b
join eq_child as c2 on c2.a = parent.b and c2.b = parent.b
join eq_child as c3 on c3.a = parent.b and c3.b = parent.b
join eq_child as c4 on c4.a = parent.b and c4.b = parent.b
join eq_child as c5 on c5.a = parent.b and c5.b = parent.b
join eq_child as c6 on c6.a = parent.b and c6.b = parent.b
join eq_child as c7 on c7.a = parent.b and c7.b = parent.b
join eq_child as c8 on c8.a = parent.b and c8.b = parent.b
join eq_child as c9 on c9.a = parent.b and c9.b = parent.b
join eq_child as c10 on c10.a = parent.b and c10.b = parent.b
join eq_child as c11 on c11.a = parent.b and c11.b = parent.b
join eq_child as c12 on c12.a = parent.b and c12.b = parent.b
join eq_child as c13 on c13.a = parent.b and c13.b = parent.b
join eq_child as c14 on c14.a = parent.b and c14.b = parent.b
join eq_child as c15 on c15.a = parent.b and c15.b = parent.b
join eq_child as c16 on c16.a = parent.b and c16.b = parent.b
;
select straight_join count(*) from parent
join eq_child as c1 on c1.a = parent.b and c1.b = parent.b
join eq_child as c2 on c2.a = parent.b and c2.b = parent.b
join eq_child as c3 on c3.a = parent.b and c3.b = parent.b
join eq_child as c4 on c4.a = parent.b and c4.b = parent.b
join eq_child as c5 on c5.a = parent.b and c5.b = parent.b
join eq_child as c6 on c6.a = parent.b and c6.b = parent.b
join eq_child as c7 on c7.a = parent.b and c7.b = parent.b
join eq_child as c8 on c8.a = parent.b and c8.b = parent.b
join eq_child as c9 on c9.a = parent.b and c9.b = parent.b
join eq_child as c10 on c10.a = parent.b and c10.b = parent.b
join eq_child as c11 on c11.a = parent.b and c11.b = parent.b
join eq_child as c12 on c12.a = parent.b and c12.b = parent.b
join eq_child as c13 on c13.a = parent.b and c13.b = parent.b
join eq_child as c14 on c14.a = parent.b and c14.b = parent.b
join eq_child as c15 on c15.a = parent.b and c15.b = parent.b
join eq_child as c16 on c16.a = parent.b and c16.b = parent.b
;
Await completion or failure
count(*)
8192
count(*)
8192
count(*)
8192
=================================
Run multiple 'query2' in parallel 
=================================
explain select straight_join count(*) from parent
join eq_child as c1 on c1.a = parent.b and c1.b = parent.b
join eq_child as c5 on c5.a = c1.c and c5.b = c1.c
join eq_child as c6 on c6.a = c1.c and c6.b = c1.c
join eq_child as c7 on c7.a = c1.c and c7.b = c1.c
join eq_child as c8 on c8.a = c1.c and c8.b = c1.c
join eq_child as c2 on c2.a = parent.b and c2.b = parent.b
join eq_child as c9  on c9.a = c2.c  and c9.b  = c2.c
join eq_child as c10 on c10.a = c2.c and c10.b = c2.c
join eq_child as c11 on c11.a = c2.c and c11.b = c2.c
join eq_child as c12 on c12.a = c2.c and c12.b = c2.c
join eq_child as c3 on c3.a = parent.b and c3.b = parent.b
join eq_child as c13 on c13.a = c3.c and c13.b = c3.c
join eq_child as c14 on c14.a = c3.c and c14.b = c3.c
join eq_child as c15 on c15.a = c3.c and c15.b = c3.c
join eq_child as c16 on c16.a = c3.c and c16.b = c3.c
join eq_child as c4 on c4.a = parent.b and c4.b = parent.b
join eq_child as c17 on c17.a = c4.c and c17.b = c4.c
join eq_child as c18 on c18.a = c4.c and c18.b = c4.c
join eq_child as c19 on c19.a = c4.c and c19.b = c4.c
join eq_child as c20 on c20.a = c4.c and c20.b = c4.c
;
id	select_type	table	partitions	type	possible_keys	key	key_len	ref	rows	filtered	Extra
1	SIMPLE	parent	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ALL	NULL	NULL	NULL	NULL	8192	100.00	Parent of 21 pushed join@1; Using where with pushed condition ((`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null))
1	SIMPLE	c1	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'parent' in pushed join@1; Using where with pushed condition ((`test`.`c1`.`c` is not null) and (`test`.`c1`.`c` is not null) and (`test`.`c1`.`c` is not null) and (`test`.`c1`.`c` is not null) and (`test`.`c1`.`c` is not null) and (`test`.`c1`.`c` is not null))
1	SIMPLE	c5	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c1.c,test.c1.c	1	100.00	Child of 'c1' in pushed join@1
1	SIMPLE	c6	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c1.c,test.c1.c	1	100.00	Child of 'c5' in pushed join@1
1	SIMPLE	c7	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c1.c,test.c1.c	1	100.00	Child of 'c6' in pushed join@1
1	SIMPLE	c8	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c1.c,test.c1.c	1	100.00	Child of 'c7' in pushed join@1
1	SIMPLE	c2	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c1' in pushed join@1; Using where with pushed condition ((`test`.`c2`.`c` is not null) and (`test`.`c2`.`c` is not null) and (`test`.`c2`.`c` is not null))
1	SIMPLE	c9	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c2.c,test.c2.c	1	100.00	Child of 'c2' in pushed join@1
1	SIMPLE	c10	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c2.c,test.c2.c	1	100.00	Child of 'c9' in pushed join@1
1	SIMPLE	c11	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c2.c,test.c2.c	1	100.00	Child of 'c10' in pushed join@1
1	SIMPLE	c12	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c2.c,test.c2.c	1	100.00	Child of 'c11' in pushed join@1
1	SIMPLE	c3	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c2' in pushed join@1; Using where with pushed condition ((`test`.`c3`.`c` is not null) and (`test`.`c3`.`c` is not null) and (`test`.`c3`.`c` is not null))
1	SIMPLE	c13	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c3.c,test.c3.c	1	100.00	Child of 'c3' in pushed join@1
1	SIMPLE	c14	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c3.c,test.c3.c	1	100.00	Child of 'c13' in pushed join@1
1	SIMPLE	c15	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c3.c,test.c3.c	1	100.00	Child of 'c14' in pushed join@1
1	SIMPLE	c16	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c3.c,test.c3.c	1	100.00	Child of 'c15' in pushed join@1
1	SIMPLE	c4	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.parent.b	1	100.00	Child of 'c3' in pushed join@1; Using where with pushed condition ((`test`.`c4`.`c` is not null) and (`test`.`c4`.`c` is not null) and (`test`.`c4`.`c` is not null) and (`test`.`c4`.`c` is not null))
1	SIMPLE	c17	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c4.c,test.c4.c	1	100.00	Child of 'c4' in pushed join@1
1	SIMPLE	c18	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c4.c,test.c4.c	1	100.00	Child of 'c17' in pushed join@1
1	SIMPLE	c19	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c4.c,test.c4.c	1	100.00	Child of 'c18' in pushed join@1
1	SIMPLE	c20	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.c4.c,test.c4.c	1	100.00	Child of 'c19' in pushed join@1
Warnings:
Note	1003	/* select#1 */ select straight_join count(0) AS `count(*)` from `test`.`parent` join `test`.`eq_child` `c1` join `test`.`eq_child` `c5` join `test`.`eq_child` `c6` join `test`.`eq_child` `c7` join `test`.`eq_child` `c8` join `test`.`eq_child` `c2` join `test`.`eq_child` `c9` join `test`.`eq_child` `c10` join `test`.`eq_child` `c11` join `test`.`eq_child` `c12` join `test`.`eq_child` `c3` join `test`.`eq_child` `c13` join `test`.`eq_child` `c14` join `test`.`eq_child` `c15` join `test`.`eq_child` `c16` join `test`.`eq_child` `c4` join `test`.`eq_child` `c17` join `test`.`eq_child` `c18` join `test`.`eq_child` `c19` join `test`.`eq_child` `c20` where ((`test`.`c5`.`a` = `test`.`c1`.`c`) and (`test`.`c5`.`b` = `test`.`c1`.`c`) and (`test`.`c6`.`a` = `test`.`c1`.`c`) and (`test`.`c6`.`b` = `test`.`c1`.`c`) and (`test`.`c7`.`a` = `test`.`c1`.`c`) and (`test`.`c7`.`b` = `test`.`c1`.`c`) and (`test`.`c8`.`a` = `test`.`c1`.`c`) and (`test`.`c8`.`b` = `test`.`c1`.`c`) and (`test`.`c9`.`a` = `test`.`c2`.`c`) and (`test`.`c9`.`b` = `test`.`c2`.`c`) and (`test`.`c10`.`a` = `test`.`c2`.`c`) and (`test`.`c10`.`b` = `test`.`c2`.`c`) and (`test`.`c11`.`a` = `test`.`c2`.`c`) and (`test`.`c11`.`b` = `test`.`c2`.`c`) and (`test`.`c12`.`a` = `test`.`c2`.`c`) and (`test`.`c12`.`b` = `test`.`c2`.`c`) and (`test`.`c13`.`a` = `test`.`c3`.`c`) and (`test`.`c13`.`b` = `test`.`c3`.`c`) and (`test`.`c14`.`a` = `test`.`c3`.`c`) and (`test`.`c14`.`b` = `test`.`c3`.`c`) and (`test`.`c15`.`a` = `test`.`c3`.`c`) and (`test`.`c15`.`b` = `test`.`c3`.`c`) and (`test`.`c16`.`a` = `test`.`c3`.`c`) and (`test`.`c16`.`b` = `test`.`c3`.`c`) and (`test`.`c1`.`a` = `test`.`parent`.`b`) and (`test`.`c1`.`b` = `test`.`parent`.`b`) and (`test`.`c2`.`a` = `test`.`parent`.`b`) and (`test`.`c2`.`b` = `test`.`parent`.`b`) and (`test`.`c3`.`a` = `test`.`parent`.`b`) and (`test`.`c3`.`b` = `test`.`parent`.`b`) and (`test`.`c4`.`a` = `test`.`parent`.`b`) and (`test`.`c4`.`b` = `test`.`parent`.`b`) and (`test`.`c17`.`a` = `test`.`c4`.`c`) and (`test`.`c17`.`b` = `test`.`c4`.`c`) and (`test`.`c18`.`a` = `test`.`c4`.`c`) and (`test`.`c18`.`b` = `test`.`c4`.`c`) and (`test`.`c19`.`a` = `test`.`c4`.`c`) and (`test`.`c19`.`b` = `test`.`c4`.`c`) and (`test`.`c20`.`a` = `test`.`c4`.`c`) and (`test`.`c20`.`b` = `test`.`c4`.`c`))
select straight_join count(*) from parent
join eq_child as c1 on c1.a = parent.b and c1.b = parent.b
join eq_child as c5 on c5.a = c1.c and c5.b = c1.c
join eq_child as c6 on c6.a = c1.c and c6.b = c1.c
join eq_child as c7 on c7.a = c1.c and c7.b = c1.c
join eq_child as c8 on c8.a = c1.c and c8.b = c1.c
join eq_child as c2 on c2.a = parent.b and c2.b = parent.b
join eq_child as c9  on c9.a = c2.c  and c9.b  = c2.c
join eq_child as c10 on c10.a = c2.c and c10.b = c2.c
join eq_child as c11 on c11.a = c2.c and c11.b = c2.c
join eq_child as c12 on c12.a = c2.c and c12.b = c2.c
join eq_child as c3 on c3.a = parent.b and c3.b = parent.b
join eq_child as c13 on c13.a = c3.c and c13.b = c3.c
join eq_child as c14 on c14.a = c3.c and c14.b = c3.c
join eq_child as c15 on c15.a = c3.c and c15.b = c3.c
join eq_child as c16 on c16.a = c3.c and c16.b = c3.c
join eq_child as c4 on c4.a = parent.b and c4.b = parent.b
join eq_child as c17 on c17.a = c4.c and c17.b = c4.c
join eq_child as c18 on c18.a = c4.c and c18.b = c4.c
join eq_child as c19 on c19.a = c4.c and c19.b = c4.c
join eq_child as c20 on c20.a = c4.c and c20.b = c4.c
;
select straight_join count(*) from parent
join eq_child as c1 on c1.a = parent.b and c1.b = parent.b
join eq_child as c5 on c5.a = c1.c and c5.b = c1.c
join eq_child as c6 on c6.a = c1.c and c6.b = c1.c
join eq_child as c7 on c7.a = c1.c and c7.b = c1.c
join eq_child as c8 on c8.a = c1.c and c8.b = c1.c
join eq_child as c2 on c2.a = parent.b and c2.b = parent.b
join eq_child as c9  on c9.a = c2.c  and c9.b  = c2.c
join eq_child as c10 on c10.a = c2.c and c10.b = c2.c
join eq_child as c11 on c11.a = c2.c and c11.b = c2.c
join eq_child as c12 on c12.a = c2.c and c12.b = c2.c
join eq_child as c3 on c3.a = parent.b and c3.b = parent.b
join eq_child as c13 on c13.a = c3.c and c13.b = c3.c
join eq_child as c14 on c14.a = c3.c and c14.b = c3.c
join eq_child as c15 on c15.a = c3.c and c15.b = c3.c
join eq_child as c16 on c16.a = c3.c and c16.b = c3.c
join eq_child as c4 on c4.a = parent.b and c4.b = parent.b
join eq_child as c17 on c17.a = c4.c and c17.b = c4.c
join eq_child as c18 on c18.a = c4.c and c18.b = c4.c
join eq_child as c19 on c19.a = c4.c and c19.b = c4.c
join eq_child as c20 on c20.a = c4.c and c20.b = c4.c
;
select straight_join count(*) from parent
join eq_child as c1 on c1.a = parent.b and c1.b = parent.b
join eq_child as c5 on c5.a = c1.c and c5.b = c1.c
join eq_child as c6 on c6.a = c1.c and c6.b = c1.c
join eq_child as c7 on c7.a = c1.c and c7.b = c1.c
join eq_child as c8 on c8.a = c1.c and c8.b = c1.c
join eq_child as c2 on c2.a = parent.b and c2.b = parent.b
join eq_child as c9  on c9.a = c2.c  and c9.b  = c2.c
join eq_child as c10 on c10.a = c2.c and c10.b = c2.c
join eq_child as c11 on c11.a = c2.c and c11.b = c2.c
join eq_child as c12 on c12.a = c2.c and c12.b = c2.c
join eq_child as c3 on c3.a = parent.b and c3.b = parent.b
join eq_child as c13 on c13.a = c3.c and c13.b = c3.c
join eq_child as c14 on c14.a = c3.c and c14.b = c3.c
join eq_child as c15 on c15.a = c3.c and c15.b = c3.c
join eq_child as c16 on c16.a = c3.c and c16.b = c3.c
join eq_child as c4 on c4.a = parent.b and c4.b = parent.b
join eq_child as c17 on c17.a = c4.c and c17.b = c4.c
join eq_child as c18 on c18.a = c4.c and c18.b = c4.c
join eq_child as c19 on c19.a = c4.c and c19.b = c4.c
join eq_child as c20 on c20.a = c4.c and c20.b = c4.c
;
Await completion or failure
count(*)
8192
count(*)
8192
count(*)
8192
=================================
Run multiple 'query3' in parallel 
=================================
explain select straight_join count(*) from parent
join ref_child as c1 on c1.a = parent.b
join ref_child as c2 on c2.a = parent.b
join ref_child as c3 on c3.a = parent.b
join ref_child as c4 on c4.a = parent.b
join ref_child as c5 on c5.a = parent.b
join ref_child as c6 on c6.a = parent.b
join ref_child as c7 on c7.a = parent.b
join ref_child as c8 on c8.a = parent.b
join ref_child as c9 on c9.a = parent.b
join ref_child as c10 on c10.a = parent.b
join ref_child as c11 on c11.a = parent.b
join ref_child as c12 on c12.a = parent.b
join ref_child as c13 on c13.a = parent.b
join ref_child as c14 on c14.a = parent.b
join ref_child as c15 on c15.a = parent.b
join ref_child as c16 on c16.a = parent.b
where parent.a < 1000
;
id	select_type	table	partitions	type	possible_keys	key	key_len	ref	rows	filtered	Extra
1	SIMPLE	parent	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	range	PRIMARY	PRIMARY	4	NULL	###	###	Parent of 17 pushed join@1; Using where with pushed condition ((`test`.`parent`.`a` < 1000) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null)); Using MRR
1	SIMPLE	c1	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c2	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c3	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c4	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c5	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c6	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c7	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c8	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c9	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c10	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c11	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c12	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c13	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c14	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c15	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c16	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
Warnings:
Note	1003	/* select#1 */ select straight_join count(0) AS `count(*)` from `test`.`parent` join `test`.`ref_child` `c1` join `test`.`ref_child` `c2` join `test`.`ref_child` `c3` join `test`.`ref_child` `c4` join `test`.`ref_child` `c5` join `test`.`ref_child` `c6` join `test`.`ref_child` `c7` join `test`.`ref_child` `c8` join `test`.`ref_child` `c9` join `test`.`ref_child` `c10` join `test`.`ref_child` `c11` join `test`.`ref_child` `c12` join `test`.`ref_child` `c13` join `test`.`ref_child` `c14` join `test`.`ref_child` `c15` join `test`.`ref_child` `c16` where ((`test`.`c1`.`a` = `test`.`parent`.`b`) and (`test`.`c2`.`a` = `test`.`parent`.`b`) and (`test`.`c3`.`a` = `test`.`parent`.`b`) and (`test`.`c4`.`a` = `test`.`parent`.`b`) and (`test`.`c5`.`a` = `test`.`parent`.`b`) and (`test`.`c6`.`a` = `test`.`parent`.`b`) and (`test`.`c7`.`a` = `test`.`parent`.`b`) and (`test`.`c8`.`a` = `test`.`parent`.`b`) and (`test`.`c9`.`a` = `test`.`parent`.`b`) and (`test`.`c10`.`a` = `test`.`parent`.`b`) and (`test`.`c11`.`a` = `test`.`parent`.`b`) and (`test`.`c12`.`a` = `test`.`parent`.`b`) and (`test`.`c13`.`a` = `test`.`parent`.`b`) and (`test`.`c14`.`a` = `test`.`parent`.`b`) and (`test`.`c15`.`a` = `test`.`parent`.`b`) and (`test`.`c16`.`a` = `test`.`parent`.`b`) and (`test`.`parent`.`a` < 1000))
select straight_join count(*) from parent
join ref_child as c1 on c1.a = parent.b
join ref_child as c2 on c2.a = parent.b
join ref_child as c3 on c3.a = parent.b
join ref_child as c4 on c4.a = parent.b
join ref_child as c5 on c5.a = parent.b
join ref_child as c6 on c6.a = parent.b
join ref_child as c7 on c7.a = parent.b
join ref_child as c8 on c8.a = parent.b
join ref_child as c9 on c9.a = parent.b
join ref_child as c10 on c10.a = parent.b
join ref_child as c11 on c11.a = parent.b
join ref_child as c12 on c12.a = parent.b
join ref_child as c13 on c13.a = parent.b
join ref_child as c14 on c14.a = parent.b
join ref_child as c15 on c15.a = parent.b
join ref_child as c16 on c16.a = parent.b
where parent.a < 1000
;
select straight_join count(*) from parent
join ref_child as c1 on c1.a = parent.b
join ref_child as c2 on c2.a = parent.b
join ref_child as c3 on c3.a = parent.b
join ref_child as c4 on c4.a = parent.b
join ref_child as c5 on c5.a = parent.b
join ref_child as c6 on c6.a = parent.b
join ref_child as c7 on c7.a = parent.b
join ref_child as c8 on c8.a = parent.b
join ref_child as c9 on c9.a = parent.b
join ref_child as c10 on c10.a = parent.b
join ref_child as c11 on c11.a = parent.b
join ref_child as c12 on c12.a = parent.b
join ref_child as c13 on c13.a = parent.b
join ref_child as c14 on c14.a = parent.b
join ref_child as c15 on c15.a = parent.b
join ref_child as c16 on c16.a = parent.b
where parent.a < 1000
;
select straight_join count(*) from parent
join ref_child as c1 on c1.a = parent.b
join ref_child as c2 on c2.a = parent.b
join ref_child as c3 on c3.a = parent.b
join ref_child as c4 on c4.a = parent.b
join ref_child as c5 on c5.a = parent.b
join ref_child as c6 on c6.a = parent.b
join ref_child as c7 on c7.a = parent.b
join ref_child as c8 on c8.a = parent.b
join ref_child as c9 on c9.a = parent.b
join ref_child as c10 on c10.a = parent.b
join ref_child as c11 on c11.a = parent.b
join ref_child as c12 on c12.a = parent.b
join ref_child as c13 on c13.a = parent.b
join ref_child as c14 on c14.a = parent.b
join ref_child as c15 on c15.a = parent.b
join ref_child as c16 on c16.a = parent.b
where parent.a < 1000
;
Await completion or failure
count(*)
999
count(*)
999
count(*)
999
=================================
Run multiple 'query4' in parallel 
=================================
explain select straight_join count(*) from parent
join ref_child as c1 on c1.a = parent.b
join eq_child as c1eq on c1eq.a = c1.a and c1eq.b = c1.b
join ref_child as c2 on c2.a = parent.b
join eq_child as c2eq on c2eq.a = c2.a and c2eq.b = c2.b
join ref_child as c3 on c3.a = parent.b
join eq_child as c3eq on c3eq.a = c3.a and c3eq.b = c3.b
join ref_child as c4 on c4.a = parent.b
join eq_child as c4eq on c4eq.a = c4.a and c4eq.b = c4.b
join ref_child as c5 on c5.a = parent.b
join eq_child as c5eq on c5eq.a = c5.a and c5eq.b = c5.b
join ref_child as c6 on c6.a = parent.b
join eq_child as c6eq on c6eq.a = c6.a and c6eq.b = c6.b
join ref_child as c7 on c7.a = parent.b
join eq_child as c7eq on c7eq.a = c7.a and c7eq.b = c7.b
join ref_child as c8 on c8.a = parent.b
join eq_child as c8eq on c8eq.a = c8.a and c8eq.b = c8.b
join ref_child as c9 on c9.a = parent.b
join eq_child as c9eq on c9eq.a = c9.a and c9eq.b = c9.b
join ref_child as c10 on c10.a = parent.b
join eq_child as c10eq on c10eq.a = c10.a and c10eq.b = c10.b
join ref_child as c11 on c11.a = parent.b
join eq_child as c11eq on c11eq.a = c11.a and c11eq.b = c11.b
join ref_child as c12 on c12.a = parent.b
join eq_child as c12eq on c12eq.a = c12.a and c12eq.b = c12.b
join ref_child as c13 on c13.a = parent.b
join eq_child as c13eq on c13eq.a = c13.a and c13eq.b = c13.b
join ref_child as c14 on c14.a = parent.b
join eq_child as c14eq on c14eq.a = c14.a and c14eq.b = c14.b
join ref_child as c15 on c15.a = parent.b
join eq_child as c15eq on c15eq.a = c15.a and c15eq.b = c15.b
join ref_child as c16 on c16.a = parent.b
join eq_child as c16eq on c16eq.a = c16.a and c16eq.b = c16.b
where parent.a < 1000
;
id	select_type	table	partitions	type	possible_keys	key	key_len	ref	rows	filtered	Extra
1	SIMPLE	parent	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	range	PRIMARY	PRIMARY	4	NULL	###	###	Parent of 32 pushed join@1; Using where with pushed condition ((`test`.`parent`.`a` < 1000) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null) and (`test`.`parent`.`b` is not null)); Using MRR
1	SIMPLE	c1	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c1eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c1.b	###	###	Child of 'c1' in pushed join@1
1	SIMPLE	c2	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c2eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c2.b	###	###	Child of 'c2' in pushed join@1
1	SIMPLE	c3	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c3eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c3.b	###	###	Child of 'c3' in pushed join@1
1	SIMPLE	c4	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c4eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c4.b	###	###	Child of 'c4' in pushed join@1
1	SIMPLE	c5	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c5eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c5.b	###	###	Child of 'c5' in pushed join@1
1	SIMPLE	c6	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c6eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c6.b	###	###	Child of 'c6' in pushed join@1
1	SIMPLE	c7	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c7eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c7.b	###	###	Child of 'c7' in pushed join@1
1	SIMPLE	c8	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c8eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c8.b	###	###	Child of 'c8' in pushed join@1
1	SIMPLE	c9	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c9eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c9.b	###	###	Child of 'c9' in pushed join@1
1	SIMPLE	c10	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c10eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c10.b	###	###	Child of 'c10' in pushed join@1
1	SIMPLE	c11	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c11eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c11.b	###	###	Child of 'c11' in pushed join@1
1	SIMPLE	c12	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c12eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c12.b	###	###	Child of 'c12' in pushed join@1
1	SIMPLE	c13	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c13eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c13.b	###	###	Child of 'c13' in pushed join@1
1	SIMPLE	c14	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c14eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c14.b	###	###	Child of 'c14' in pushed join@1
1	SIMPLE	c15	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c15eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c15.b	###	###	Child of 'c15' in pushed join@1
1	SIMPLE	c16	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	ref	PRIMARY	PRIMARY	4	test.parent.b	###	###	Child of 'parent' in pushed join@1
1	SIMPLE	c16eq	p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31	eq_ref	PRIMARY	PRIMARY	8	test.parent.b,test.c16.b	###	###	NULL
Warnings:
Note	1003	Cannot push table 'c16eq' as child of 'parent'. Max number of pushable tables exceeded.
Note	1003	/* select#1 */ select straight_join count(0) AS `count(*)` from `test`.`parent` join `test`.`ref_child` `c1` join `test`.`eq_child` `c1eq` join `test`.`ref_child` `c2` join `test`.`eq_child` `c2eq` join `test`.`ref_child` `c3` join `test`.`eq_child` `c3eq` join `test`.`ref_child` `c4` join `test`.`eq_child` `c4eq` join `test`.`ref_child` `c5` join `test`.`eq_child` `c5eq` join `test`.`ref_child` `c6` join `test`.`eq_child` `c6eq` join `test`.`ref_child` `c7` join `test`.`eq_child` `c7eq` join `test`.`ref_child` `c8` join `test`.`eq_child` `c8eq` join `test`.`ref_child` `c9` join `test`.`eq_child` `c9eq` join `test`.`ref_child` `c10` join `test`.`eq_child` `c10eq` join `test`.`ref_child` `c11` join `test`.`eq_child` `c11eq` join `test`.`ref_child` `c12` join `test`.`eq_child` `c12eq` join `test`.`ref_child` `c13` join `test`.`eq_child` `c13eq` join `test`.`ref_child` `c14` join `test`.`eq_child` `c14eq` join `test`.`ref_child` `c15` join `test`.`eq_child` `c15eq` join `test`.`ref_child` `c16` join `test`.`eq_child` `c16eq` where ((`test`.`c1eq`.`b` = `test`.`c1`.`b`) and (`test`.`c1`.`a` = `test`.`parent`.`b`) and (`test`.`c1eq`.`a` = `test`.`parent`.`b`) and (`test`.`c2`.`a` = `test`.`parent`.`b`) and (`test`.`c2eq`.`a` = `test`.`parent`.`b`) and (`test`.`c3`.`a` = `test`.`parent`.`b`) and (`test`.`c3eq`.`a` = `test`.`parent`.`b`) and (`test`.`c4`.`a` = `test`.`parent`.`b`) and (`test`.`c4eq`.`a` = `test`.`parent`.`b`) and (`test`.`c5`.`a` = `test`.`parent`.`b`) and (`test`.`c5eq`.`a` = `test`.`parent`.`b`) and (`test`.`c6`.`a` = `test`.`parent`.`b`) and (`test`.`c6eq`.`a` = `test`.`parent`.`b`) and (`test`.`c7`.`a` = `test`.`parent`.`b`) and (`test`.`c7eq`.`a` = `test`.`parent`.`b`) and (`test`.`c8`.`a` = `test`.`parent`.`b`) and (`test`.`c8eq`.`a` = `test`.`parent`.`b`) and (`test`.`c9`.`a` = `test`.`parent`.`b`) and (`test`.`c9eq`.`a` = `test`.`parent`.`b`) and (`test`.`c10`.`a` = `test`.`parent`.`b`) and (`test`.`c10eq`.`a` = `test`.`parent`.`b`) and (`test`.`c11`.`a` = `test`.`parent`.`b`) and (`test`.`c11eq`.`a` = `test`.`parent`.`b`) and (`test`.`c12`.`a` = `test`.`parent`.`b`) and (`test`.`c12eq`.`a` = `test`.`parent`.`b`) and (`test`.`c13`.`a` = `test`.`parent`.`b`) and (`test`.`c13eq`.`a` = `test`.`parent`.`b`) and (`test`.`c14`.`a` = `test`.`parent`.`b`) and (`test`.`c14eq`.`a` = `test`.`parent`.`b`) and (`test`.`c15`.`a` = `test`.`parent`.`b`) and (`test`.`c15eq`.`a` = `test`.`parent`.`b`) and (`test`.`c16`.`a` = `test`.`parent`.`b`) and (`test`.`c16eq`.`a` = `test`.`parent`.`b`) and (`test`.`c2eq`.`b` = `test`.`c2`.`b`) and (`test`.`c3eq`.`b` = `test`.`c3`.`b`) and (`test`.`c4eq`.`b` = `test`.`c4`.`b`) and (`test`.`c5eq`.`b` = `test`.`c5`.`b`) and (`test`.`c6eq`.`b` = `test`.`c6`.`b`) and (`test`.`c7eq`.`b` = `test`.`c7`.`b`) and (`test`.`c8eq`.`b` = `test`.`c8`.`b`) and (`test`.`c9eq`.`b` = `test`.`c9`.`b`) and (`test`.`c10eq`.`b` = `test`.`c10`.`b`) and (`test`.`c11eq`.`b` = `test`.`c11`.`b`) and (`test`.`c12eq`.`b` = `test`.`c12`.`b`) and (`test`.`c13eq`.`b` = `test`.`c13`.`b`) and (`test`.`c14eq`.`b` = `test`.`c14`.`b`) and (`test`.`c15eq`.`b` = `test`.`c15`.`b`) and (`test`.`c16eq`.`b` = `test`.`c16`.`b`) and (`test`.`parent`.`a` < 1000))
select straight_join count(*) from parent
join ref_child as c1 on c1.a = parent.b
join eq_child as c1eq on c1eq.a = c1.a and c1eq.b = c1.b
join ref_child as c2 on c2.a = parent.b
join eq_child as c2eq on c2eq.a = c2.a and c2eq.b = c2.b
join ref_child as c3 on c3.a = parent.b
join eq_child as c3eq on c3eq.a = c3.a and c3eq.b = c3.b
join ref_child as c4 on c4.a = parent.b
join eq_child as c4eq on c4eq.a = c4.a and c4eq.b = c4.b
join ref_child as c5 on c5.a = parent.b
join eq_child as c5eq on c5eq.a = c5.a and c5eq.b = c5.b
join ref_child as c6 on c6.a = parent.b
join eq_child as c6eq on c6eq.a = c6.a and c6eq.b = c6.b
join ref_child as c7 on c7.a = parent.b
join eq_child as c7eq on c7eq.a = c7.a and c7eq.b = c7.b
join ref_child as c8 on c8.a = parent.b
join eq_child as c8eq on c8eq.a = c8.a and c8eq.b = c8.b
join ref_child as c9 on c9.a = parent.b
join eq_child as c9eq on c9eq.a = c9.a and c9eq.b = c9.b
join ref_child as c10 on c10.a = parent.b
join eq_child as c10eq on c10eq.a = c10.a and c10eq.b = c10.b
join ref_child as c11 on c11.a = parent.b
join eq_child as c11eq on c11eq.a = c11.a and c11eq.b = c11.b
join ref_child as c12 on c12.a = parent.b
join eq_child as c12eq on c12eq.a = c12.a and c12eq.b = c12.b
join ref_child as c13 on c13.a = parent.b
join eq_child as c13eq on c13eq.a = c13.a and c13eq.b = c13.b
join ref_child as c14 on c14.a = parent.b
join eq_child as c14eq on c14eq.a = c14.a and c14eq.b = c14.b
join ref_child as c15 on c15.a = parent.b
join eq_child as c15eq on c15eq.a = c15.a and c15eq.b = c15.b
join ref_child as c16 on c16.a = parent.b
join eq_child as c16eq on c16eq.a = c16.a and c16eq.b = c16.b
where parent.a < 1000
;
select straight_join count(*) from parent
join ref_child as c1 on c1.a = parent.b
join eq_child as c1eq on c1eq.a = c1.a and c1eq.b = c1.b
join ref_child as c2 on c2.a = parent.b
join eq_child as c2eq on c2eq.a = c2.a and c2eq.b = c2.b
join ref_child as c3 on c3.a = parent.b
join eq_child as c3eq on c3eq.a = c3.a and c3eq.b = c3.b
join ref_child as c4 on c4.a = parent.b
join eq_child as c4eq on c4eq.a = c4.a and c4eq.b = c4.b
join ref_child as c5 on c5.a = parent.b
join eq_child as c5eq on c5eq.a = c5.a and c5eq.b = c5.b
join ref_child as c6 on c6.a = parent.b
join eq_child as c6eq on c6eq.a = c6.a and c6eq.b = c6.b
join ref_child as c7 on c7.a = parent.b
join eq_child as c7eq on c7eq.a = c7.a and c7eq.b = c7.b
join ref_child as c8 on c8.a = parent.b
join eq_child as c8eq on c8eq.a = c8.a and c8eq.b = c8.b
join ref_child as c9 on c9.a = parent.b
join eq_child as c9eq on c9eq.a = c9.a and c9eq.b = c9.b
join ref_child as c10 on c10.a = parent.b
join eq_child as c10eq on c10eq.a = c10.a and c10eq.b = c10.b
join ref_child as c11 on c11.a = parent.b
join eq_child as c11eq on c11eq.a = c11.a and c11eq.b = c11.b
join ref_child as c12 on c12.a = parent.b
join eq_child as c12eq on c12eq.a = c12.a and c12eq.b = c12.b
join ref_child as c13 on c13.a = parent.b
join eq_child as c13eq on c13eq.a = c13.a and c13eq.b = c13.b
join ref_child as c14 on c14.a = parent.b
join eq_child as c14eq on c14eq.a = c14.a and c14eq.b = c14.b
join ref_child as c15 on c15.a = parent.b
join eq_child as c15eq on c15eq.a = c15.a and c15eq.b = c15.b
join ref_child as c16 on c16.a = parent.b
join eq_child as c16eq on c16eq.a = c16.a and c16eq.b = c16.b
where parent.a < 1000
;
select straight_join count(*) from parent
join ref_child as c1 on c1.a = parent.b
join eq_child as c1eq on c1eq.a = c1.a and c1eq.b = c1.b
join ref_child as c2 on c2.a = parent.b
join eq_child as c2eq on c2eq.a = c2.a and c2eq.b = c2.b
join ref_child as c3 on c3.a = parent.b
join eq_child as c3eq on c3eq.a = c3.a and c3eq.b = c3.b
join ref_child as c4 on c4.a = parent.b
join eq_child as c4eq on c4eq.a = c4.a and c4eq.b = c4.b
join ref_child as c5 on c5.a = parent.b
join eq_child as c5eq on c5eq.a = c5.a and c5eq.b = c5.b
join ref_child as c6 on c6.a = parent.b
join eq_child as c6eq on c6eq.a = c6.a and c6eq.b = c6.b
join ref_child as c7 on c7.a = parent.b
join eq_child as c7eq on c7eq.a = c7.a and c7eq.b = c7.b
join ref_child as c8 on c8.a = parent.b
join eq_child as c8eq on c8eq.a = c8.a and c8eq.b = c8.b
join ref_child as c9 on c9.a = parent.b
join eq_child as c9eq on c9eq.a = c9.a and c9eq.b = c9.b
join ref_child as c10 on c10.a = parent.b
join eq_child as c10eq on c10eq.a = c10.a and c10eq.b = c10.b
join ref_child as c11 on c11.a = parent.b
join eq_child as c11eq on c11eq.a = c11.a and c11eq.b = c11.b
join ref_child as c12 on c12.a = parent.b
join eq_child as c12eq on c12eq.a = c12.a and c12eq.b = c12.b
join ref_child as c13 on c13.a = parent.b
join eq_child as c13eq on c13eq.a = c13.a and c13eq.b = c13.b
join ref_child as c14 on c14.a = parent.b
join eq_child as c14eq on c14eq.a = c14.a and c14eq.b = c14.b
join ref_child as c15 on c15.a = parent.b
join eq_child as c15eq on c15eq.a = c15.a and c15eq.b = c15.b
join ref_child as c16 on c16.a = parent.b
join eq_child as c16eq on c16eq.a = c16.a and c16eq.b = c16.b
where parent.a < 1000
;
Await completion or failure
count(*)
999
count(*)
999
count(*)
999
drop table parent, eq_child, ref_child;

Man Man