Skip to content

Commit 4674fe7

Browse files
author
Jan Wedvik
committed
This commit modifes the ndb handler such that it will not attempt to push more than 32 operations at once
(which the api would also reject). It may thus split a large query into several pushable units.
1 parent 161363d commit 4674fe7

File tree

4 files changed

+442
-6
lines changed

4 files changed

+442
-6
lines changed

mysql-test/suite/ndb/r/ndb_join_pushdown.result

+241-6
Original file line numberDiff line numberDiff line change
@@ -2337,6 +2337,241 @@ a b a b
23372337
47 63 63 31
23382338
63 31 31 47
23392339
79 NULL NULL NULL
2340+
insert into t3 values (8,8,8,8);
2341+
explain extended select count(*) from t3 as x0
2342+
join t3 as x1 on x0.b3=x1.d3 and x0.d3=8
2343+
join t3 as x2 on x1.b3=x2.d3
2344+
join t3 as x3 on x2.b3=x3.d3
2345+
join t3 as x4 on x3.b3=x4.d3
2346+
join t3 as x5 on x4.b3=x5.d3
2347+
join t3 as x6 on x5.b3=x6.d3
2348+
join t3 as x7 on x6.b3=x7.d3
2349+
join t3 as x8 on x7.b3=x8.d3
2350+
join t3 as x9 on x8.b3=x9.d3
2351+
join t3 as x10 on x9.b3=x10.d3
2352+
join t3 as x11 on x10.b3=x11.d3
2353+
join t3 as x12 on x11.b3=x12.d3
2354+
join t3 as x13 on x12.b3=x13.d3
2355+
join t3 as x14 on x13.b3=x14.d3
2356+
join t3 as x15 on x14.b3=x15.d3
2357+
join t3 as x16 on x15.b3=x16.d3
2358+
join t3 as x17 on x16.b3=x17.d3;
2359+
id select_type table type possible_keys key key_len ref rows filtered Extra
2360+
1 SIMPLE x0 const t3_d3 t3_d3 4 const 1 100.00 Parent of 16 pushed join@1
2361+
1 SIMPLE x1 eq_ref t3_d3 t3_d3 4 test.x0.b3 1 100.00 Child of 'x0' in pushed join@1
2362+
1 SIMPLE x2 eq_ref t3_d3 t3_d3 4 test.x1.b3 1 100.00 Child of 'x1' in pushed join@1
2363+
1 SIMPLE x3 eq_ref t3_d3 t3_d3 4 test.x2.b3 1 100.00 Child of 'x2' in pushed join@1
2364+
1 SIMPLE x4 eq_ref t3_d3 t3_d3 4 test.x3.b3 1 100.00 Child of 'x3' in pushed join@1
2365+
1 SIMPLE x5 eq_ref t3_d3 t3_d3 4 test.x4.b3 1 100.00 Child of 'x4' in pushed join@1
2366+
1 SIMPLE x6 eq_ref t3_d3 t3_d3 4 test.x5.b3 1 100.00 Child of 'x5' in pushed join@1
2367+
1 SIMPLE x7 eq_ref t3_d3 t3_d3 4 test.x6.b3 1 100.00 Child of 'x6' in pushed join@1
2368+
1 SIMPLE x8 eq_ref t3_d3 t3_d3 4 test.x7.b3 1 100.00 Child of 'x7' in pushed join@1
2369+
1 SIMPLE x9 eq_ref t3_d3 t3_d3 4 test.x8.b3 1 100.00 Child of 'x8' in pushed join@1
2370+
1 SIMPLE x10 eq_ref t3_d3 t3_d3 4 test.x9.b3 1 100.00 Child of 'x9' in pushed join@1
2371+
1 SIMPLE x11 eq_ref t3_d3 t3_d3 4 test.x10.b3 1 100.00 Child of 'x10' in pushed join@1
2372+
1 SIMPLE x12 eq_ref t3_d3 t3_d3 4 test.x11.b3 1 100.00 Child of 'x11' in pushed join@1
2373+
1 SIMPLE x13 eq_ref t3_d3 t3_d3 4 test.x12.b3 1 100.00 Child of 'x12' in pushed join@1
2374+
1 SIMPLE x14 eq_ref t3_d3 t3_d3 4 test.x13.b3 1 100.00 Child of 'x13' in pushed join@1
2375+
1 SIMPLE x15 eq_ref t3_d3 t3_d3 4 test.x14.b3 1 100.00 Child of 'x14' in pushed join@1
2376+
1 SIMPLE x16 eq_ref t3_d3 t3_d3 4 test.x15.b3 1 100.00 Parent of 2 pushed join@2
2377+
1 SIMPLE x17 eq_ref t3_d3 t3_d3 4 test.x16.b3 1 100.00 Child of 'x16' in pushed join@2
2378+
Warnings:
2379+
Note 9999 Cannot push table 'x16' as child of 'x0'. Max number of pushable tables exceeded.
2380+
Note 9999 Cannot push table 'x17' as child of 'x0'. Max number of pushable tables exceeded.
2381+
Note 1003 select count(0) AS `count(*)` from `test`.`t3` `x0` join `test`.`t3` `x1` join `test`.`t3` `x2` join `test`.`t3` `x3` join `test`.`t3` `x4` join `test`.`t3` `x5` join `test`.`t3` `x6` join `test`.`t3` `x7` join `test`.`t3` `x8` join `test`.`t3` `x9` join `test`.`t3` `x10` join `test`.`t3` `x11` join `test`.`t3` `x12` join `test`.`t3` `x13` join `test`.`t3` `x14` join `test`.`t3` `x15` join `test`.`t3` `x16` join `test`.`t3` `x17` where ((`test`.`x0`.`d3` = 8) and (`test`.`x1`.`d3` = `test`.`x0`.`b3`) and (`test`.`x2`.`d3` = `test`.`x1`.`b3`) and (`test`.`x3`.`d3` = `test`.`x2`.`b3`) and (`test`.`x4`.`d3` = `test`.`x3`.`b3`) and (`test`.`x5`.`d3` = `test`.`x4`.`b3`) and (`test`.`x6`.`d3` = `test`.`x5`.`b3`) and (`test`.`x7`.`d3` = `test`.`x6`.`b3`) and (`test`.`x8`.`d3` = `test`.`x7`.`b3`) and (`test`.`x9`.`d3` = `test`.`x8`.`b3`) and (`test`.`x10`.`d3` = `test`.`x9`.`b3`) and (`test`.`x11`.`d3` = `test`.`x10`.`b3`) and (`test`.`x12`.`d3` = `test`.`x11`.`b3`) and (`test`.`x13`.`d3` = `test`.`x12`.`b3`) and (`test`.`x14`.`d3` = `test`.`x13`.`b3`) and (`test`.`x15`.`d3` = `test`.`x14`.`b3`) and (`test`.`x16`.`d3` = `test`.`x15`.`b3`) and (`test`.`x17`.`d3` = `test`.`x16`.`b3`))
2382+
select count(*) from t3 as x0
2383+
join t3 as x1 on x0.b3=x1.d3 and x0.d3=8
2384+
join t3 as x2 on x1.b3=x2.d3
2385+
join t3 as x3 on x2.b3=x3.d3
2386+
join t3 as x4 on x3.b3=x4.d3
2387+
join t3 as x5 on x4.b3=x5.d3
2388+
join t3 as x6 on x5.b3=x6.d3
2389+
join t3 as x7 on x6.b3=x7.d3
2390+
join t3 as x8 on x7.b3=x8.d3
2391+
join t3 as x9 on x8.b3=x9.d3
2392+
join t3 as x10 on x9.b3=x10.d3
2393+
join t3 as x11 on x10.b3=x11.d3
2394+
join t3 as x12 on x11.b3=x12.d3
2395+
join t3 as x13 on x12.b3=x13.d3
2396+
join t3 as x14 on x13.b3=x14.d3
2397+
join t3 as x15 on x14.b3=x15.d3
2398+
join t3 as x16 on x15.b3=x16.d3
2399+
join t3 as x17 on x16.b3=x17.d3;
2400+
count(*)
2401+
1
2402+
explain extended select count(*) from t3 as x0
2403+
join t3 as x1 on x0.c3=x1.a3
2404+
join t3 as x2 on x1.c3=x2.a3
2405+
join t3 as x3 on x2.c3=x3.a3
2406+
join t3 as x4 on x3.c3=x4.a3
2407+
join t3 as x5 on x4.c3=x5.a3
2408+
join t3 as x6 on x5.c3=x6.a3
2409+
join t3 as x7 on x6.c3=x7.a3
2410+
join t3 as x8 on x7.c3=x8.a3
2411+
join t3 as x9 on x8.c3=x9.a3
2412+
join t3 as x10 on x9.c3=x10.a3
2413+
join t3 as x11 on x10.c3=x11.a3
2414+
join t3 as x12 on x11.c3=x12.a3
2415+
join t3 as x13 on x12.c3=x13.a3
2416+
join t3 as x14 on x13.c3=x14.a3
2417+
join t3 as x15 on x14.c3=x15.a3
2418+
join t3 as x16 on x15.c3=x16.a3
2419+
join t3 as x17 on x16.c3=x17.a3
2420+
join t3 as x18 on x17.c3=x18.a3
2421+
join t3 as x19 on x18.c3=x19.a3
2422+
join t3 as x20 on x19.c3=x20.a3
2423+
join t3 as x21 on x20.c3=x21.a3
2424+
join t3 as x22 on x21.c3=x22.a3
2425+
join t3 as x23 on x22.c3=x23.a3
2426+
join t3 as x24 on x23.c3=x24.a3
2427+
join t3 as x25 on x24.c3=x25.a3
2428+
join t3 as x26 on x25.c3=x26.a3
2429+
join t3 as x27 on x26.c3=x27.a3
2430+
join t3 as x28 on x27.c3=x28.a3
2431+
join t3 as x29 on x28.c3=x29.a3
2432+
join t3 as x30 on x29.c3=x30.a3
2433+
join t3 as x31 on x30.c3=x31.a3
2434+
join t3 as x32 on x31.c3=x32.a3
2435+
join t3 as x33 on x32.c3=x33.a3;
2436+
id select_type table type possible_keys key key_len ref rows filtered Extra
2437+
1 SIMPLE x0 ALL NULL NULL NULL NULL 4 100.00 Parent of 32 pushed join@1
2438+
1 SIMPLE x1 ref PRIMARY PRIMARY 4 test.x0.c3 1 100.00 Child of 'x0' in pushed join@1
2439+
1 SIMPLE x2 ref PRIMARY PRIMARY 4 test.x1.c3 1 100.00 Child of 'x1' in pushed join@1
2440+
1 SIMPLE x3 ref PRIMARY PRIMARY 4 test.x2.c3 1 100.00 Child of 'x2' in pushed join@1
2441+
1 SIMPLE x4 ref PRIMARY PRIMARY 4 test.x3.c3 1 100.00 Child of 'x3' in pushed join@1
2442+
1 SIMPLE x5 ref PRIMARY PRIMARY 4 test.x4.c3 1 100.00 Child of 'x4' in pushed join@1
2443+
1 SIMPLE x6 ref PRIMARY PRIMARY 4 test.x5.c3 1 100.00 Child of 'x5' in pushed join@1
2444+
1 SIMPLE x7 ref PRIMARY PRIMARY 4 test.x6.c3 1 100.00 Child of 'x6' in pushed join@1
2445+
1 SIMPLE x8 ref PRIMARY PRIMARY 4 test.x7.c3 1 100.00 Child of 'x7' in pushed join@1
2446+
1 SIMPLE x9 ref PRIMARY PRIMARY 4 test.x8.c3 1 100.00 Child of 'x8' in pushed join@1
2447+
1 SIMPLE x10 ref PRIMARY PRIMARY 4 test.x9.c3 1 100.00 Child of 'x9' in pushed join@1
2448+
1 SIMPLE x11 ref PRIMARY PRIMARY 4 test.x10.c3 1 100.00 Child of 'x10' in pushed join@1
2449+
1 SIMPLE x12 ref PRIMARY PRIMARY 4 test.x11.c3 1 100.00 Child of 'x11' in pushed join@1
2450+
1 SIMPLE x13 ref PRIMARY PRIMARY 4 test.x12.c3 1 100.00 Child of 'x12' in pushed join@1
2451+
1 SIMPLE x14 ref PRIMARY PRIMARY 4 test.x13.c3 1 100.00 Child of 'x13' in pushed join@1
2452+
1 SIMPLE x15 ref PRIMARY PRIMARY 4 test.x14.c3 1 100.00 Child of 'x14' in pushed join@1
2453+
1 SIMPLE x16 ref PRIMARY PRIMARY 4 test.x15.c3 1 100.00 Child of 'x15' in pushed join@1
2454+
1 SIMPLE x17 ref PRIMARY PRIMARY 4 test.x16.c3 1 100.00 Child of 'x16' in pushed join@1
2455+
1 SIMPLE x18 ref PRIMARY PRIMARY 4 test.x17.c3 1 100.00 Child of 'x17' in pushed join@1
2456+
1 SIMPLE x19 ref PRIMARY PRIMARY 4 test.x18.c3 1 100.00 Child of 'x18' in pushed join@1
2457+
1 SIMPLE x20 ref PRIMARY PRIMARY 4 test.x19.c3 1 100.00 Child of 'x19' in pushed join@1
2458+
1 SIMPLE x21 ref PRIMARY PRIMARY 4 test.x20.c3 1 100.00 Child of 'x20' in pushed join@1
2459+
1 SIMPLE x22 ref PRIMARY PRIMARY 4 test.x21.c3 1 100.00 Child of 'x21' in pushed join@1
2460+
1 SIMPLE x23 ref PRIMARY PRIMARY 4 test.x22.c3 1 100.00 Child of 'x22' in pushed join@1
2461+
1 SIMPLE x24 ref PRIMARY PRIMARY 4 test.x23.c3 1 100.00 Child of 'x23' in pushed join@1
2462+
1 SIMPLE x25 ref PRIMARY PRIMARY 4 test.x24.c3 1 100.00 Child of 'x24' in pushed join@1
2463+
1 SIMPLE x26 ref PRIMARY PRIMARY 4 test.x25.c3 1 100.00 Child of 'x25' in pushed join@1
2464+
1 SIMPLE x27 ref PRIMARY PRIMARY 4 test.x26.c3 1 100.00 Child of 'x26' in pushed join@1
2465+
1 SIMPLE x28 ref PRIMARY PRIMARY 4 test.x27.c3 1 100.00 Child of 'x27' in pushed join@1
2466+
1 SIMPLE x29 ref PRIMARY PRIMARY 4 test.x28.c3 1 100.00 Child of 'x28' in pushed join@1
2467+
1 SIMPLE x30 ref PRIMARY PRIMARY 4 test.x29.c3 1 100.00 Child of 'x29' in pushed join@1
2468+
1 SIMPLE x31 ref PRIMARY PRIMARY 4 test.x30.c3 1 100.00 Child of 'x30' in pushed join@1
2469+
1 SIMPLE x32 ref PRIMARY PRIMARY 4 test.x31.c3 1 100.00 Parent of 2 pushed join@2
2470+
1 SIMPLE x33 ref PRIMARY PRIMARY 4 test.x32.c3 1 100.00 Child of 'x32' in pushed join@2
2471+
Warnings:
2472+
Note 9999 Cannot push table 'x32' as child of 'x0'. Max number of pushable tables exceeded.
2473+
Note 9999 Cannot push table 'x33' as child of 'x0'. Max number of pushable tables exceeded.
2474+
Note 1003 select count(0) AS `count(*)` from `test`.`t3` `x0` join `test`.`t3` `x1` join `test`.`t3` `x2` join `test`.`t3` `x3` join `test`.`t3` `x4` join `test`.`t3` `x5` join `test`.`t3` `x6` join `test`.`t3` `x7` join `test`.`t3` `x8` join `test`.`t3` `x9` join `test`.`t3` `x10` join `test`.`t3` `x11` join `test`.`t3` `x12` join `test`.`t3` `x13` join `test`.`t3` `x14` join `test`.`t3` `x15` join `test`.`t3` `x16` join `test`.`t3` `x17` join `test`.`t3` `x18` join `test`.`t3` `x19` join `test`.`t3` `x20` join `test`.`t3` `x21` join `test`.`t3` `x22` join `test`.`t3` `x23` join `test`.`t3` `x24` join `test`.`t3` `x25` join `test`.`t3` `x26` join `test`.`t3` `x27` join `test`.`t3` `x28` join `test`.`t3` `x29` join `test`.`t3` `x30` join `test`.`t3` `x31` join `test`.`t3` `x32` join `test`.`t3` `x33` where ((`test`.`x1`.`a3` = `test`.`x0`.`c3`) and (`test`.`x2`.`a3` = `test`.`x1`.`c3`) and (`test`.`x3`.`a3` = `test`.`x2`.`c3`) and (`test`.`x4`.`a3` = `test`.`x3`.`c3`) and (`test`.`x5`.`a3` = `test`.`x4`.`c3`) and (`test`.`x6`.`a3` = `test`.`x5`.`c3`) and (`test`.`x7`.`a3` = `test`.`x6`.`c3`) and (`test`.`x8`.`a3` = `test`.`x7`.`c3`) and (`test`.`x9`.`a3` = `test`.`x8`.`c3`) and (`test`.`x10`.`a3` = `test`.`x9`.`c3`) and (`test`.`x11`.`a3` = `test`.`x10`.`c3`) and (`test`.`x12`.`a3` = `test`.`x11`.`c3`) and (`test`.`x13`.`a3` = `test`.`x12`.`c3`) and (`test`.`x14`.`a3` = `test`.`x13`.`c3`) and (`test`.`x15`.`a3` = `test`.`x14`.`c3`) and (`test`.`x16`.`a3` = `test`.`x15`.`c3`) and (`test`.`x17`.`a3` = `test`.`x16`.`c3`) and (`test`.`x18`.`a3` = `test`.`x17`.`c3`) and (`test`.`x19`.`a3` = `test`.`x18`.`c3`) and (`test`.`x20`.`a3` = `test`.`x19`.`c3`) and (`test`.`x21`.`a3` = `test`.`x20`.`c3`) and (`test`.`x22`.`a3` = `test`.`x21`.`c3`) and (`test`.`x23`.`a3` = `test`.`x22`.`c3`) and (`test`.`x24`.`a3` = `test`.`x23`.`c3`) and (`test`.`x25`.`a3` = `test`.`x24`.`c3`) and (`test`.`x26`.`a3` = `test`.`x25`.`c3`) and (`test`.`x27`.`a3` = `test`.`x26`.`c3`) and (`test`.`x28`.`a3` = `test`.`x27`.`c3`) and (`test`.`x29`.`a3` = `test`.`x28`.`c3`) and (`test`.`x30`.`a3` = `test`.`x29`.`c3`) and (`test`.`x31`.`a3` = `test`.`x30`.`c3`) and (`test`.`x32`.`a3` = `test`.`x31`.`c3`) and (`test`.`x33`.`a3` = `test`.`x32`.`c3`))
2475+
select count(*) from t3 as x0
2476+
join t3 as x1 on x0.c3=x1.a3
2477+
join t3 as x2 on x1.c3=x2.a3
2478+
join t3 as x3 on x2.c3=x3.a3
2479+
join t3 as x4 on x3.c3=x4.a3
2480+
join t3 as x5 on x4.c3=x5.a3
2481+
join t3 as x6 on x5.c3=x6.a3
2482+
join t3 as x7 on x6.c3=x7.a3
2483+
join t3 as x8 on x7.c3=x8.a3
2484+
join t3 as x9 on x8.c3=x9.a3
2485+
join t3 as x10 on x9.c3=x10.a3
2486+
join t3 as x11 on x10.c3=x11.a3
2487+
join t3 as x12 on x11.c3=x12.a3
2488+
join t3 as x13 on x12.c3=x13.a3
2489+
join t3 as x14 on x13.c3=x14.a3
2490+
join t3 as x15 on x14.c3=x15.a3
2491+
join t3 as x16 on x15.c3=x16.a3
2492+
join t3 as x17 on x16.c3=x17.a3
2493+
join t3 as x18 on x17.c3=x18.a3
2494+
join t3 as x19 on x18.c3=x19.a3
2495+
join t3 as x20 on x19.c3=x20.a3
2496+
join t3 as x21 on x20.c3=x21.a3
2497+
join t3 as x22 on x21.c3=x22.a3
2498+
join t3 as x23 on x22.c3=x23.a3
2499+
join t3 as x24 on x23.c3=x24.a3
2500+
join t3 as x25 on x24.c3=x25.a3
2501+
join t3 as x26 on x25.c3=x26.a3
2502+
join t3 as x27 on x26.c3=x27.a3
2503+
join t3 as x28 on x27.c3=x28.a3
2504+
join t3 as x29 on x28.c3=x29.a3
2505+
join t3 as x30 on x29.c3=x30.a3
2506+
join t3 as x31 on x30.c3=x31.a3
2507+
join t3 as x32 on x31.c3=x32.a3
2508+
join t3 as x33 on x32.c3=x33.a3;
2509+
count(*)
2510+
1
2511+
explain extended select count(*) from t3 as x0
2512+
join t3 as x1 on x0.b3=x1.d3
2513+
join t3 as x2 on x1.b3=x2.d3
2514+
join t3 as x3 on x2.b3=x3.d3
2515+
join t3 as x4 on x3.b3=x4.d3
2516+
join t3 as x5 on x4.b3=x5.d3
2517+
join t3 as x6 on x5.b3=x6.d3
2518+
join t3 as x7 on x6.b3=x7.d3
2519+
join t3 as x8 on x7.b3=x8.d3
2520+
join t3 as x9 on x8.b3=x9.d3
2521+
join t3 as x10 on x9.b3=x10.d3
2522+
join t3 as x11 on x10.b3=x11.d3
2523+
join t3 as x12 on x11.b3=x12.d3
2524+
join t3 as x13 on x12.b3=x13.d3
2525+
join t3 as x14 on x13.b3=x14.d3
2526+
join t3 as x15 on x14.b3=x15.d3
2527+
join t3 as x16 on x15.b3=x16.d3
2528+
join t3 as x17 on x15.b3=x17.a3
2529+
join t3 as x18 on x16.b3=x18.d3;
2530+
id select_type table type possible_keys key key_len ref rows filtered Extra
2531+
1 SIMPLE x0 ALL NULL NULL NULL NULL 4 100.00 Parent of 17 pushed join@1
2532+
1 SIMPLE x1 eq_ref t3_d3 t3_d3 4 test.x0.b3 1 100.00 Child of 'x0' in pushed join@1
2533+
1 SIMPLE x2 eq_ref t3_d3 t3_d3 4 test.x1.b3 1 100.00 Child of 'x1' in pushed join@1
2534+
1 SIMPLE x3 eq_ref t3_d3 t3_d3 4 test.x2.b3 1 100.00 Child of 'x2' in pushed join@1
2535+
1 SIMPLE x4 eq_ref t3_d3 t3_d3 4 test.x3.b3 1 100.00 Child of 'x3' in pushed join@1
2536+
1 SIMPLE x5 eq_ref t3_d3 t3_d3 4 test.x4.b3 1 100.00 Child of 'x4' in pushed join@1
2537+
1 SIMPLE x6 eq_ref t3_d3 t3_d3 4 test.x5.b3 1 100.00 Child of 'x5' in pushed join@1
2538+
1 SIMPLE x7 eq_ref t3_d3 t3_d3 4 test.x6.b3 1 100.00 Child of 'x6' in pushed join@1
2539+
1 SIMPLE x8 eq_ref t3_d3 t3_d3 4 test.x7.b3 1 100.00 Child of 'x7' in pushed join@1
2540+
1 SIMPLE x9 eq_ref t3_d3 t3_d3 4 test.x8.b3 1 100.00 Child of 'x8' in pushed join@1
2541+
1 SIMPLE x10 eq_ref t3_d3 t3_d3 4 test.x9.b3 1 100.00 Child of 'x9' in pushed join@1
2542+
1 SIMPLE x11 eq_ref t3_d3 t3_d3 4 test.x10.b3 1 100.00 Child of 'x10' in pushed join@1
2543+
1 SIMPLE x12 eq_ref t3_d3 t3_d3 4 test.x11.b3 1 100.00 Child of 'x11' in pushed join@1
2544+
1 SIMPLE x13 eq_ref t3_d3 t3_d3 4 test.x12.b3 1 100.00 Child of 'x12' in pushed join@1
2545+
1 SIMPLE x14 eq_ref t3_d3 t3_d3 4 test.x13.b3 1 100.00 Child of 'x13' in pushed join@1
2546+
1 SIMPLE x15 eq_ref t3_d3 t3_d3 4 test.x14.b3 1 100.00 Child of 'x14' in pushed join@1
2547+
1 SIMPLE x16 eq_ref t3_d3 t3_d3 4 test.x15.b3 1 100.00 Parent of 2 pushed join@2
2548+
1 SIMPLE x17 ref PRIMARY PRIMARY 4 test.x16.d3 1 100.00 Child of 'x15' in pushed join@1; Using where
2549+
1 SIMPLE x18 eq_ref t3_d3 t3_d3 4 test.x16.b3 1 100.00 Child of 'x16' in pushed join@2
2550+
Warnings:
2551+
Note 9999 Cannot push table 'x16' as child of 'x0'. Max number of pushable tables exceeded.
2552+
Note 9999 Cannot push table 'x18' as child of 'x0'. Max number of pushable tables exceeded.
2553+
Note 1003 select count(0) AS `count(*)` from `test`.`t3` `x0` join `test`.`t3` `x1` join `test`.`t3` `x2` join `test`.`t3` `x3` join `test`.`t3` `x4` join `test`.`t3` `x5` join `test`.`t3` `x6` join `test`.`t3` `x7` join `test`.`t3` `x8` join `test`.`t3` `x9` join `test`.`t3` `x10` join `test`.`t3` `x11` join `test`.`t3` `x12` join `test`.`t3` `x13` join `test`.`t3` `x14` join `test`.`t3` `x15` join `test`.`t3` `x16` join `test`.`t3` `x17` join `test`.`t3` `x18` where ((`test`.`x1`.`d3` = `test`.`x0`.`b3`) and (`test`.`x2`.`d3` = `test`.`x1`.`b3`) and (`test`.`x3`.`d3` = `test`.`x2`.`b3`) and (`test`.`x4`.`d3` = `test`.`x3`.`b3`) and (`test`.`x5`.`d3` = `test`.`x4`.`b3`) and (`test`.`x6`.`d3` = `test`.`x5`.`b3`) and (`test`.`x7`.`d3` = `test`.`x6`.`b3`) and (`test`.`x8`.`d3` = `test`.`x7`.`b3`) and (`test`.`x9`.`d3` = `test`.`x8`.`b3`) and (`test`.`x10`.`d3` = `test`.`x9`.`b3`) and (`test`.`x11`.`d3` = `test`.`x10`.`b3`) and (`test`.`x12`.`d3` = `test`.`x11`.`b3`) and (`test`.`x13`.`d3` = `test`.`x12`.`b3`) and (`test`.`x14`.`d3` = `test`.`x13`.`b3`) and (`test`.`x15`.`d3` = `test`.`x14`.`b3`) and (`test`.`x16`.`d3` = `test`.`x15`.`b3`) and (`test`.`x17`.`a3` = `test`.`x15`.`b3`) and (`test`.`x18`.`d3` = `test`.`x16`.`b3`))
2554+
select count(*) from t3 as x0
2555+
join t3 as x1 on x0.b3=x1.d3
2556+
join t3 as x2 on x1.b3=x2.d3
2557+
join t3 as x3 on x2.b3=x3.d3
2558+
join t3 as x4 on x3.b3=x4.d3
2559+
join t3 as x5 on x4.b3=x5.d3
2560+
join t3 as x6 on x5.b3=x6.d3
2561+
join t3 as x7 on x6.b3=x7.d3
2562+
join t3 as x8 on x7.b3=x8.d3
2563+
join t3 as x9 on x8.b3=x9.d3
2564+
join t3 as x10 on x9.b3=x10.d3
2565+
join t3 as x11 on x10.b3=x11.d3
2566+
join t3 as x12 on x11.b3=x12.d3
2567+
join t3 as x13 on x12.b3=x13.d3
2568+
join t3 as x14 on x13.b3=x14.d3
2569+
join t3 as x15 on x14.b3=x15.d3
2570+
join t3 as x16 on x15.b3=x16.d3
2571+
join t3 as x17 on x15.b3=x17.a3
2572+
join t3 as x18 on x16.b3=x18.d3;
2573+
count(*)
2574+
4
23402575
drop table t1,t2,t3, t3_hash;
23412576
create table t3 (a3 int, b3 int, c3 int, d3 int,
23422577
primary key(b3, a3)) engine = ndb;
@@ -5234,11 +5469,11 @@ and spj_counts_at_end.counter_name <> 'READS_NOT_FOUND'
52345469
and spj_counts_at_end.counter_name <> 'SCAN_BATCHES_RETURNED';
52355470
counter_name spj_counts_at_end.val - spj_counts_at_startup.val
52365471
CONST_PRUNED_RANGE_SCANS_RECEIVED 6
5237-
LOCAL_TABLE_SCANS_SENT 244
5472+
LOCAL_TABLE_SCANS_SENT 248
52385473
PRUNED_RANGE_SCANS_RECEIVED 25
5239-
RANGE_SCANS_RECEIVED 720
5240-
READS_RECEIVED 52
5241-
TABLE_SCANS_RECEIVED 244
5474+
RANGE_SCANS_RECEIVED 722
5475+
READS_RECEIVED 58
5476+
TABLE_SCANS_RECEIVED 248
52425477
drop table spj_counts_at_startup;
52435478
drop table spj_counts_at_end;
52445479
scan_count_derived
@@ -5248,9 +5483,9 @@ pruned_scan_count
52485483
sorted_scan_count
52495484
10
52505485
pushed_queries_defined
5251-
385
5486+
397
52525487
pushed_queries_dropped
52535488
11
52545489
pushed_queries_executed
5255-
535
5490+
544
52565491
set ndb_join_pushdown = @save_ndb_join_pushdown;

0 commit comments

Comments
 (0)