[CP] fix sysbench newsort degradation

This commit is contained in:
obdev
2023-04-13 07:08:08 +00:00
committed by ob-robot
parent eaeca23f8e
commit 7e1194920a
7 changed files with 61 additions and 41 deletions

View File

@ -708,14 +708,14 @@ select /*+use_merge(xy_x_t xy_y_t)*/ * from xy_x_t where x1 in (select y1 from x
+------+------------+
| 0 | yzh |
| 2 | think |
| 2 | VZLUW |
| 2 | want |
| 2 | VZLUW |
| 2 | it's |
| 6 | u |
| 6 | uyslpcybda |
| 6 | u |
| 9 | TBMEI |
| 9 | QPPLC |
| 9 | mdsl |
| 9 | TBMEI |
+------+------------+
EXPLAIN select /*+use_nl(xy_x_t xy_y_t)*/ * from xy_x_t where x1 in (select y1 from xy_y_t where y2 < xy_x_t.x2);
Query Plan
@ -904,29 +904,29 @@ select /*+use_merge(xy_x_t xy_y_t)*/ * from xy_x_t where x1 not in (select y1 fr
| 1 | TQOYB |
| 1 | FFHTJ |
| 2 | ezcuilyxac |
| 3 | get |
| 3 | prsazev |
| 3 | get |
| 3 | out |
| 4 | a |
| 4 | PVYPZ |
| 4 | k |
| 4 | bpqswbeyqj |
| 4 | isjn |
| 4 | that's |
| 4 | well |
| 4 | a |
| 5 | with |
| 5 | w |
| 5 | arkyz |
| 5 | just |
| 5 | PFBCU |
| 5 | just |
| 5 | with |
| 5 | arkyz |
| 5 | w |
| 6 | co |
| 6 | j |
| 6 | g |
| 7 | cybdark |
| 7 | BKWPE |
| 8 | lmdsl |
| 8 | NNIGT |
| 8 | of |
| 8 | lmdsl |
| 9 | etu |
| 27262976 | n |
| 162267136 | to |
@ -1314,6 +1314,10 @@ select /*+ use_merge(xy_t1 xy_t2)*/ * from xy_t1 where exists (select 1 from xy_
| 3 | 3 |
| 3 | 3 |
| 3 | 3 |
| 5 | 7 |
| 5 | 7 |
| 5 | 5 |
| 5 | 5 |
| 5 | 5 |
| 5 | 5 |
| 5 | 5 |
@ -1322,12 +1326,9 @@ select /*+ use_merge(xy_t1 xy_t2)*/ * from xy_t1 where exists (select 1 from xy_
| 5 | 5 |
| 5 | 5 |
| 5 | 7 |
| 5 | 5 |
| 5 | 5 |
| 5 | 7 |
| 5 | 7 |
| 6 | NULL |
| 6 | 7 |
| 6 | NULL |
| 6 | 6 |
| 6 | 7 |
| 6 | 6 |
@ -1335,17 +1336,16 @@ select /*+ use_merge(xy_t1 xy_t2)*/ * from xy_t1 where exists (select 1 from xy_
| 6 | 7 |
| 6 | 6 |
| 6 | NULL |
| 6 | 7 |
| 6 | 6 |
| 6 | NULL |
| 6 | 7 |
| 9 | 7 |
| 9 | 0 |
| 9 | 7 |
| 9 | 0 |
| 9 | 7 |
| 9 | 0 |
| 9 | 7 |
| 9 | 0 |
| 9 | 0 |
| 9 | 7 |
+------+------+
EXPLAIN select /*+ no_rewrite */ * from xy_t1 where exists (select 1 from xy_t2 where xy_t2.c1 = xy_t1.c1);
Query Plan
@ -2155,33 +2155,33 @@ select /*+ use_merge(xy_t1 xy_t2)*/ * from xy_t1 where not exists (select 1 from
| 0 | 0 |
| 0 | 0 |
| 2 | NULL |
| 2 | NULL |
| 2 | 2 |
| 2 | 2 |
| 2 | 2 |
| 2 | 2 |
| 2 | NULL |
| 2 | 2 |
| 2 | NULL |
| 2 | NULL |
| 7 | 0 |
| 7 | 0 |
| 7 | 7 |
| 7 | 0 |
| 7 | 7 |
| 7 | 0 |
| 7 | 7 |
| 7 | 7 |
| 8 | 8 |
| 7 | 0 |
| 7 | 0 |
| 7 | 7 |
| 7 | 0 |
| 8 | 5 |
| 8 | 5 |
| 8 | 5 |
| 8 | 8 |
| 8 | 0 |
| 8 | 0 |
| 8 | 0 |
| 8 | 5 |
| 8 | 8 |
| 8 | 8 |
| 8 | 0 |
| 8 | 8 |
| 8 | 5 |
| 8 | 0 |
| 8 | 8 |
| 8 | 5 |
| 8 | 0 |
| 8 | 8 |
| 8 | 5 |
| 8 | 0 |
| 10 | 10 |
| 10 | 10 |
| 10 | 10 |