limit DEFAULT_CTX_ID of tenant_500 from 4G to 2G
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -34,13 +34,13 @@ Outputs & filters:
|
||||
sort_keys([bb.b2, ASC], [bb.b3, ASC])
|
||||
2 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.b1]), range(MIN ; MAX)always true
|
||||
3 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, ASC], [aa.a3, ASC])
|
||||
4 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.a1]), range(MIN ; MAX)always true
|
||||
select /*+ use_merge(aa, bb) */ a2, b3 from aa, bb where a2 = b2 and a3 = b3 order by a2, a3 desc;
|
||||
a2 b3
|
||||
@ -67,13 +67,13 @@ Outputs & filters:
|
||||
sort_keys([bb.b2, ASC], [bb.b3, DESC])
|
||||
2 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.b1]), range(MIN ; MAX)always true
|
||||
3 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, ASC], [aa.a3, DESC])
|
||||
4 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.a1]), range(MIN ; MAX)always true
|
||||
select /*+ use_merge(aa, bb) */ a2, b3 from aa, bb where a2 = b2 and a3 = b3 order by a2 desc, a3;
|
||||
a2 b3
|
||||
@ -100,13 +100,13 @@ Outputs & filters:
|
||||
sort_keys([bb.b2, DESC], [bb.b3, ASC])
|
||||
2 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.b1]), range(MIN ; MAX)always true
|
||||
3 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, DESC], [aa.a3, ASC])
|
||||
4 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.a1]), range(MIN ; MAX)always true
|
||||
select /*+ use_merge(aa, bb) */ a2, b3 from aa, bb where a2 = b2 and a3 = b3 order by a2 desc, a3 desc;
|
||||
a2 b3
|
||||
@ -133,13 +133,13 @@ Outputs & filters:
|
||||
sort_keys([bb.b2, DESC], [bb.b3, DESC])
|
||||
2 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.b1]), range(MIN ; MAX)always true
|
||||
3 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, DESC], [aa.a3, DESC])
|
||||
4 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.a1]), range(MIN ; MAX)always true
|
||||
delete from aa;
|
||||
insert into aa(a2, a3) values (10, 15), (10, 14), (10, 12), (11, 13), (12, 12), (12, 10);
|
||||
@ -170,13 +170,13 @@ Outputs & filters:
|
||||
sort_keys([bb.b2, ASC], [bb.b3, ASC])
|
||||
2 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.b1]), range(MIN ; MAX)always true
|
||||
3 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, ASC], [aa.a3, ASC])
|
||||
4 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.a1]), range(MIN ; MAX)always true
|
||||
select /*+ use_merge(aa, bb) */ a2, b3 from aa, bb where a2 = b2 and a3 = b3 order by a2, a3 desc;
|
||||
a2 b3
|
||||
@ -203,13 +203,13 @@ Outputs & filters:
|
||||
sort_keys([bb.b2, ASC], [bb.b3, DESC])
|
||||
2 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.b1]), range(MIN ; MAX)always true
|
||||
3 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, ASC], [aa.a3, DESC])
|
||||
4 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.a1]), range(MIN ; MAX)always true
|
||||
select /*+ use_merge(aa, bb) */ a2, b3 from aa, bb where a2 = b2 and a3 = b3 order by a2 desc, a3;
|
||||
a2 b3
|
||||
@ -236,13 +236,13 @@ Outputs & filters:
|
||||
sort_keys([bb.b2, DESC], [bb.b3, ASC])
|
||||
2 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.b1]), range(MIN ; MAX)always true
|
||||
3 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, DESC], [aa.a3, ASC])
|
||||
4 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.a1]), range(MIN ; MAX)always true
|
||||
select /*+ use_merge(aa, bb) */ a2, b3 from aa, bb where a2 = b2 and a3 = b3 order by a2 desc, a3 desc;
|
||||
a2 b3
|
||||
@ -269,13 +269,13 @@ Outputs & filters:
|
||||
sort_keys([bb.b2, DESC], [bb.b3, DESC])
|
||||
2 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.b1]), range(MIN ; MAX)always true
|
||||
3 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, DESC], [aa.a3, DESC])
|
||||
4 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.a1]), range(MIN ; MAX)always true
|
||||
delete from cc;
|
||||
insert into cc(c2, c3) values (10, 15), (10, 14), (10, 12), (12, 10);
|
||||
@ -309,19 +309,19 @@ Outputs & filters:
|
||||
sort_keys([aa.a2, ASC], [aa.a3, DESC])
|
||||
3 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.a1]), range(MIN ; MAX)always true
|
||||
4 - output([bb.b3], [bb.b2]), filter(nil), rowset=16
|
||||
sort_keys([bb.b2, ASC], [bb.b3, DESC])
|
||||
5 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.b1]), range(MIN ; MAX)always true
|
||||
6 - output([cc.c2], [cc.c3]), filter(nil), rowset=16
|
||||
sort_keys([cc.c2, ASC], [cc.c3, DESC])
|
||||
7 - output([cc.c2], [cc.c3]), filter(nil), rowset=16
|
||||
access([cc.c2], [cc.c3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([cc.c1]), range(MIN ; MAX)always true
|
||||
select /*+ leading(aa bb cc) use_merge(aa, bb, cc) */ c2, a3 from aa, bb, cc where a2 = b2 and a3 = b3 and a2 = c2 and b3 = c3 order by c2, c3 desc;
|
||||
c2 a3
|
||||
@ -353,19 +353,19 @@ Outputs & filters:
|
||||
sort_keys([aa.a2, ASC], [aa.a3, DESC])
|
||||
3 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.a1]), range(MIN ; MAX)always true
|
||||
4 - output([bb.b3], [bb.b2]), filter(nil), rowset=16
|
||||
sort_keys([bb.b2, ASC], [bb.b3, DESC])
|
||||
5 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.b1]), range(MIN ; MAX)always true
|
||||
6 - output([cc.c2], [cc.c3]), filter(nil), rowset=16
|
||||
sort_keys([cc.c2, ASC], [cc.c3, DESC])
|
||||
7 - output([cc.c2], [cc.c3]), filter(nil), rowset=16
|
||||
access([cc.c2], [cc.c3]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([cc.c1]), range(MIN ; MAX)always true
|
||||
drop table if exists tt1,tt2;
|
||||
CREATE TABLE `tt1` (
|
||||
@ -401,11 +401,11 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
2 - output([tt1.a], [tt1.b], [tt1.c], [tt1.d]), filter(nil), rowset=16
|
||||
access([tt1.a], [tt1.b], [tt1.c], [tt1.d]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([tt1.a]), range(MIN ; MAX)always true
|
||||
3 - output([tt2.a], [tt2.b], [tt2.c], [tt2.d]), filter(nil), rowset=16
|
||||
access([tt2.a], [tt2.b], [tt2.c], [tt2.d]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([tt2.a]), range(MIN ; MAX)always true
|
||||
explain basic select /*+ use_merge(tt1, tt2) */ * from tt1,tt2 where tt1.a=tt2.a order by tt1.a desc;
|
||||
Query Plan
|
||||
@ -423,11 +423,11 @@ Outputs & filters:
|
||||
merge_directions([DESC])
|
||||
1 - output([tt1.a], [tt1.b], [tt1.c], [tt1.d]), filter(nil), rowset=16
|
||||
access([tt1.a], [tt1.b], [tt1.c], [tt1.d]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([tt1.a]), range(MIN ; MAX)always true
|
||||
2 - output([tt2.a], [tt2.b], [tt2.c], [tt2.d]), filter(nil), rowset=16
|
||||
access([tt2.a], [tt2.b], [tt2.c], [tt2.d]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([tt2.a]), range(MIN ; MAX)always true
|
||||
explain basic select /*+ use_merge(tt1, tt2) */ * from tt1,tt2 where tt1.a=tt2.a order by tt1.c desc;
|
||||
Query Plan
|
||||
@ -448,11 +448,11 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
2 - output([tt1.a], [tt1.b], [tt1.c], [tt1.d]), filter(nil), rowset=16
|
||||
access([tt1.a], [tt1.b], [tt1.c], [tt1.d]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([tt1.a]), range(MIN ; MAX)always true
|
||||
3 - output([tt2.a], [tt2.b], [tt2.c], [tt2.d]), filter(nil), rowset=16
|
||||
access([tt2.a], [tt2.b], [tt2.c], [tt2.d]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([tt2.a]), range(MIN ; MAX)always true
|
||||
drop table if exists tt1,tt2;
|
||||
== test partitioned table merge join ==
|
||||
@ -503,7 +503,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
5 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.__pk_increment]), range(MIN ; MAX)always true
|
||||
6 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, ASC], [aa.a3, ASC])
|
||||
@ -515,7 +515,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
10 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+ use_merge(aa, bb) */ a2, b3 from aa, bb where a2 = b2 and a3 = b3 order by a2, a3 desc;
|
||||
a2 b3
|
||||
@ -554,7 +554,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
5 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.__pk_increment]), range(MIN ; MAX)always true
|
||||
6 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, ASC], [aa.a3, DESC])
|
||||
@ -566,7 +566,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
10 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+ use_merge(aa, bb) */ a2, b3 from aa, bb where a2 = b2 and a3 = b3 order by a2 desc, a3;
|
||||
a2 b3
|
||||
@ -605,7 +605,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
5 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.__pk_increment]), range(MIN ; MAX)always true
|
||||
6 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, DESC], [aa.a3, ASC])
|
||||
@ -617,7 +617,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
10 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+ use_merge(aa, bb) */ a2, b3 from aa, bb where a2 = b2 and a3 = b3 order by a2 desc, a3 desc;
|
||||
a2 b3
|
||||
@ -656,7 +656,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
5 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.__pk_increment]), range(MIN ; MAX)always true
|
||||
6 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, DESC], [aa.a3, DESC])
|
||||
@ -668,7 +668,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
10 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.__pk_increment]), range(MIN ; MAX)always true
|
||||
delete from aa;
|
||||
insert into aa values (1, 10, 15), (2, 10, 14), (3, 10, 12), (4, 11, 13), (5, 12, 12), (6, 12, 10);
|
||||
@ -711,7 +711,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
5 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.__pk_increment]), range(MIN ; MAX)always true
|
||||
6 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, ASC], [aa.a3, ASC])
|
||||
@ -723,7 +723,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
10 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+ use_merge(aa, bb) */ a2, b3 from aa, bb where a2 = b2 and a3 = b3 order by a2, a3 desc;
|
||||
a2 b3
|
||||
@ -762,7 +762,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
5 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.__pk_increment]), range(MIN ; MAX)always true
|
||||
6 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, ASC], [aa.a3, DESC])
|
||||
@ -774,7 +774,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
10 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+ use_merge(aa, bb) */ a2, b3 from aa, bb where a2 = b2 and a3 = b3 order by a2 desc, a3;
|
||||
a2 b3
|
||||
@ -813,7 +813,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
5 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.__pk_increment]), range(MIN ; MAX)always true
|
||||
6 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, DESC], [aa.a3, ASC])
|
||||
@ -825,7 +825,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
10 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+ use_merge(aa, bb) */ a2, b3 from aa, bb where a2 = b2 and a3 = b3 order by a2 desc, a3 desc;
|
||||
a2 b3
|
||||
@ -864,7 +864,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
5 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.__pk_increment]), range(MIN ; MAX)always true
|
||||
6 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
sort_keys([aa.a2, DESC], [aa.a3, DESC])
|
||||
@ -876,7 +876,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
10 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.__pk_increment]), range(MIN ; MAX)always true
|
||||
delete from cc;
|
||||
insert into cc values (1, 10, 15), (2, 10, 14), (3, 10, 12), (4, 12, 10);
|
||||
@ -925,7 +925,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
6 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.__pk_increment]), range(MIN ; MAX)always true
|
||||
7 - output([bb.b3], [bb.b2]), filter(nil), rowset=16
|
||||
sort_keys([bb.b2, ASC], [bb.b3, DESC])
|
||||
@ -937,7 +937,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
11 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.__pk_increment]), range(MIN ; MAX)always true
|
||||
12 - output([cc.c2], [cc.c3]), filter(nil), rowset=16
|
||||
sort_keys([cc.c2, ASC], [cc.c3, DESC])
|
||||
@ -949,7 +949,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
16 - output([cc.c2], [cc.c3]), filter(nil), rowset=16
|
||||
access([cc.c2], [cc.c3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([cc.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+ leading(aa bb cc) use_merge(aa, bb, cc) */ c2, a3 from aa, bb, cc where a2 = b2 and a3 = b3 and a2 = c2 and b3 = c3 order by c2, c3 desc;
|
||||
c2 a3
|
||||
@ -996,7 +996,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
6 - output([aa.a2], [aa.a3]), filter(nil), rowset=16
|
||||
access([aa.a2], [aa.a3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([aa.__pk_increment]), range(MIN ; MAX)always true
|
||||
7 - output([bb.b3], [bb.b2]), filter(nil), rowset=16
|
||||
sort_keys([bb.b2, ASC], [bb.b3, DESC])
|
||||
@ -1008,7 +1008,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
11 - output([bb.b2], [bb.b3]), filter(nil), rowset=16
|
||||
access([bb.b2], [bb.b3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([bb.__pk_increment]), range(MIN ; MAX)always true
|
||||
12 - output([cc.c2], [cc.c3]), filter(nil), rowset=16
|
||||
sort_keys([cc.c2, ASC], [cc.c3, DESC])
|
||||
@ -1020,7 +1020,7 @@ Outputs & filters:
|
||||
force partition granule
|
||||
16 - output([cc.c2], [cc.c3]), filter(nil), rowset=16
|
||||
access([cc.c2], [cc.c3]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([cc.__pk_increment]), range(MIN ; MAX)always true
|
||||
drop table if exists tt1,tt2;
|
||||
CREATE TABLE `tt1` (
|
||||
@ -1065,11 +1065,11 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
5 - output([tt1.a], [tt1.b], [tt1.c], [tt1.d]), filter(nil), rowset=16
|
||||
access([tt1.a], [tt1.b], [tt1.c], [tt1.d]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([tt1.a]), range(MIN ; MAX)always true
|
||||
6 - output([tt2.a], [tt2.b], [tt2.c], [tt2.d]), filter(nil), rowset=16
|
||||
access([tt2.a], [tt2.b], [tt2.c], [tt2.d]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([tt2.a]), range(MIN ; MAX)always true
|
||||
explain basic select /*+ use_merge(tt1, tt2) */ * from tt1,tt2 where tt1.a=tt2.a order by tt1.a desc;
|
||||
Query Plan
|
||||
@ -1099,11 +1099,11 @@ Outputs & filters:
|
||||
merge_directions([DESC])
|
||||
5 - output([tt1.a], [tt1.b], [tt1.c], [tt1.d]), filter(nil), rowset=16
|
||||
access([tt1.a], [tt1.b], [tt1.c], [tt1.d]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([tt1.a]), range(MIN ; MAX)always true
|
||||
6 - output([tt2.a], [tt2.b], [tt2.c], [tt2.d]), filter(nil), rowset=16
|
||||
access([tt2.a], [tt2.b], [tt2.c], [tt2.d]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([tt2.a]), range(MIN ; MAX)always true
|
||||
explain basic select /*+ use_merge(tt1, tt2) */ * from tt1,tt2 where tt1.a=tt2.a order by tt1.c desc;
|
||||
Query Plan
|
||||
@ -1133,11 +1133,11 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
5 - output([tt1.a], [tt1.b], [tt1.c], [tt1.d]), filter(nil), rowset=16
|
||||
access([tt1.a], [tt1.b], [tt1.c], [tt1.d]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([tt1.a]), range(MIN ; MAX)always true
|
||||
6 - output([tt2.a], [tt2.b], [tt2.c], [tt2.d]), filter(nil), rowset=16
|
||||
access([tt2.a], [tt2.b], [tt2.c], [tt2.d]), partitions(p[0-4])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([tt2.a]), range(MIN ; MAX)always true
|
||||
drop table if exists tt1,tt2;
|
||||
drop table if exists aa;
|
||||
@ -1204,11 +1204,11 @@ Outputs & filters:
|
||||
merge_directions([DESC])
|
||||
4 - output([t1.a]), filter(nil), rowset=256
|
||||
access([t1.a]), partitions(p[0-3])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.a], [t1.b]), range(MIN,MIN ; MAX,MAX)always true
|
||||
5 - output([t2.a]), filter(nil), rowset=256
|
||||
access([t2.a]), partitions(p[0-3])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.a], [t2.b]), range(MIN,MIN ; MAX,MAX)always true
|
||||
explain select /*+use_merge(t1 t2)*/ t1.a, t2.a from t_r4_01_20 t1 inner join t_r4_01_20 t2 on t1.a = t2.a order by t1.a asc, t2.a asc;
|
||||
Query Plan
|
||||
@ -1235,11 +1235,11 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
4 - output([t1.a]), filter(nil), rowset=256
|
||||
access([t1.a]), partitions(p[0-3])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.a], [t1.b]), range(MIN,MIN ; MAX,MAX)always true
|
||||
5 - output([t2.a]), filter(nil), rowset=256
|
||||
access([t2.a]), partitions(p[0-3])
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.a], [t2.b]), range(MIN,MIN ; MAX,MAX)always true
|
||||
select /*+use_merge(t1 t2)*/ t1.a, t2.a from t_r4_01_20 t1 inner join t_r4_01_20 t2 on t1.a = t2.a order by t1.a asc, t2.a asc;
|
||||
a a
|
||||
@ -1297,13 +1297,13 @@ Outputs & filters:
|
||||
sort_keys([cast(t7.a, DECIMAL(10, 0)), ASC], [t7.d, ASC])
|
||||
3 - output([t7.a], [t7.d], [t7.b], [t7.c], [cast(t7.a, DECIMAL(10, 0))]), filter(nil), rowset=16
|
||||
access([t7.a], [t7.d], [t7.b], [t7.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t7.__pk_increment]), range(MIN ; MAX)always true
|
||||
4 - output([t2.a], [t2.b], [t2.c], [cast(t2.b, DECIMAL(-1, -1))]), filter(nil), rowset=16
|
||||
sort_keys([cast(t2.b, DECIMAL(-1, -1)), ASC], [t2.c, ASC])
|
||||
5 - output([t2.b], [t2.c], [t2.a], [cast(t2.b, DECIMAL(-1, -1))]), filter(nil), rowset=16
|
||||
access([t2.b], [t2.c], [t2.a]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+use_merge(t2,t7)*/* from t2 full join t7 on t2.b = t7.a and t2.c = t7.d order by t2.a,t2.b,t7.a,t7.b;
|
||||
a b c a b c d
|
||||
@ -1344,11 +1344,11 @@ Outputs & filters:
|
||||
equal_conds([cast(t2.b, DECIMAL(-1, -1)) = cast(t7.a, DECIMAL(10, 0))], [t2.c = t7.d]), other_conds(nil)
|
||||
2 - output([t7.a], [t7.d], [t7.b], [t7.c]), filter(nil), rowset=16
|
||||
access([t7.a], [t7.d], [t7.b], [t7.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t7.__pk_increment]), range(MIN ; MAX)always true
|
||||
3 - output([t2.b], [t2.c], [t2.a]), filter(nil), rowset=16
|
||||
access([t2.b], [t2.c], [t2.a]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+use_hash(t2,t7)*/* from t2 full join t7 on t2.b = t7.a and t2.c = t7.d order by t2.a,t2.b,t7.a,t7.b;
|
||||
a b c a b c d
|
||||
@ -1389,11 +1389,11 @@ Outputs & filters:
|
||||
equal_conds([cast(t2.b, DECIMAL(-1, -1)) = cast(t7.a, DECIMAL(10, 0))], [t2.c = t7.d]), other_conds(nil)
|
||||
2 - output([t7.a], [t7.d], [t7.b], [t7.c]), filter(nil), rowset=16
|
||||
access([t7.a], [t7.d], [t7.b], [t7.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t7.__pk_increment]), range(MIN ; MAX)always true
|
||||
3 - output([t2.b], [t2.c], [t2.a]), filter(nil), rowset=16
|
||||
access([t2.b], [t2.c], [t2.a]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+use_nl(t2,t7)*/* from t2 full join t7 on t2.b = t7.a and t2.c = t7.d order by t2.a,t2.b,t7.a,t7.b;
|
||||
a b c a b c d
|
||||
@ -1440,13 +1440,13 @@ Outputs & filters:
|
||||
sort_keys([cast(t7.a, DECIMAL(10, 0)), ASC], [t7.d, ASC])
|
||||
3 - output([t7.a], [t7.d], [t7.b], [t7.c], [cast(t7.a, DECIMAL(10, 0))]), filter(nil), rowset=16
|
||||
access([t7.a], [t7.d], [t7.b], [t7.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t7.__pk_increment]), range(MIN ; MAX)always true
|
||||
4 - output([t2.a], [t2.b], [t2.c], [cast(t2.b, DECIMAL(-1, -1))]), filter(nil), rowset=16
|
||||
sort_keys([cast(t2.b, DECIMAL(-1, -1)), ASC], [t2.c, ASC])
|
||||
5 - output([t2.b], [t2.c], [t2.a], [cast(t2.b, DECIMAL(-1, -1))]), filter(nil), rowset=16
|
||||
access([t2.b], [t2.c], [t2.a]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+use_merge(t2,t7)*/* from t2 right join t7 on t2.b = t7.a and t2.c = t7.d order by t2.a,t2.b,t7.a,t7.b;
|
||||
a b c a b c d
|
||||
@ -1474,11 +1474,11 @@ Outputs & filters:
|
||||
equal_conds([cast(t2.b, DECIMAL(-1, -1)) = cast(t7.a, DECIMAL(10, 0))], [t2.c = t7.d]), other_conds(nil)
|
||||
2 - output([t7.a], [t7.d], [t7.b], [t7.c]), filter(nil), rowset=16
|
||||
access([t7.a], [t7.d], [t7.b], [t7.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t7.__pk_increment]), range(MIN ; MAX)always true
|
||||
3 - output([t2.b], [t2.c], [t2.a]), filter(nil), rowset=16
|
||||
access([t2.b], [t2.c], [t2.a]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+use_hash(t2,t7)*/* from t2 right join t7 on t2.b = t7.a and t2.c = t7.d order by t2.a,t2.b,t7.a,t7.b;
|
||||
a b c a b c d
|
||||
@ -1507,12 +1507,12 @@ Outputs & filters:
|
||||
conds([cast(t2.b, DECIMAL(-1, -1)) = cast(t7.a, DECIMAL(10, 0))], [t2.c = t7.d]), nl_params_(nil), use_batch=false
|
||||
2 - output([t7.a], [t7.d], [t7.b], [t7.c]), filter(nil), rowset=16
|
||||
access([t7.a], [t7.d], [t7.b], [t7.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t7.__pk_increment]), range(MIN ; MAX)always true
|
||||
3 - output([t2.a], [t2.b], [t2.c]), filter(nil), rowset=16
|
||||
4 - output([t2.b], [t2.c], [t2.a]), filter(nil), rowset=16
|
||||
access([t2.b], [t2.c], [t2.a]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+use_nl(t2,t7)*/* from t2 right join t7 on t2.b = t7.a and t2.c = t7.d order by t2.a,t2.b,t7.a,t7.b;
|
||||
a b c a b c d
|
||||
@ -1537,11 +1537,11 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
1 - output([t8.b], [t8.c]), filter(nil), rowset=16
|
||||
access([t8.b], [t8.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t8.b], [t8.c], [t8.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
2 - output([t9.b], [t9.c]), filter(nil), rowset=16
|
||||
access([t9.b], [t9.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t9.b], [t9.c], [t9.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
select /*+leading(t8, t9)*/ t8.b,t8.c,t9.b,t9.c from t8 right join t9 on t8.b = t9.b;
|
||||
b c b c
|
||||
@ -1589,13 +1589,13 @@ Outputs & filters:
|
||||
sort_keys([cast(t7.a, DECIMAL(10, 0)), ASC], [t7.d, ASC])
|
||||
3 - output([t7.a], [t7.d], [t7.b], [t7.c], [cast(t7.a, DECIMAL(10, 0))]), filter(nil), rowset=16
|
||||
access([t7.a], [t7.d], [t7.b], [t7.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t7.__pk_increment]), range(MIN ; MAX)always true
|
||||
4 - output([t2.a], [t2.b], [t2.c], [cast(t2.b, DECIMAL(-1, -1))]), filter(nil), rowset=16
|
||||
sort_keys([cast(t2.b, DECIMAL(-1, -1)), ASC], [t2.c, ASC])
|
||||
5 - output([t2.b], [t2.c], [t2.a], [cast(t2.b, DECIMAL(-1, -1))]), filter(nil), rowset=16
|
||||
access([t2.b], [t2.c], [t2.a]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+use_merge(t2,t7)*/* from t2 left join t7 on t2.b = t7.a and t2.c = t7.d order by t2.a,t2.b,t7.a,t7.b;
|
||||
a b c a b c d
|
||||
@ -1631,11 +1631,11 @@ Outputs & filters:
|
||||
equal_conds([cast(t2.b, DECIMAL(-1, -1)) = cast(t7.a, DECIMAL(10, 0))], [t2.c = t7.d]), other_conds(nil)
|
||||
2 - output([t7.a], [t7.d], [t7.b], [t7.c]), filter(nil), rowset=16
|
||||
access([t7.a], [t7.d], [t7.b], [t7.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t7.__pk_increment]), range(MIN ; MAX)always true
|
||||
3 - output([t2.b], [t2.c], [t2.a]), filter(nil), rowset=16
|
||||
access([t2.b], [t2.c], [t2.a]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+use_hash(t2,t7)*/* from t2 left join t7 on t2.b = t7.a and t2.c = t7.d order by t2.a,t2.b,t7.a,t7.b;
|
||||
a b c a b c d
|
||||
@ -1672,12 +1672,12 @@ Outputs & filters:
|
||||
conds([cast(t2.b, DECIMAL(-1, -1)) = cast(t7.a, DECIMAL(10, 0))], [t2.c = t7.d]), nl_params_(nil), use_batch=false
|
||||
2 - output([t2.b], [t2.c], [t2.a]), filter(nil), rowset=16
|
||||
access([t2.b], [t2.c], [t2.a]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.__pk_increment]), range(MIN ; MAX)always true
|
||||
3 - output([t7.a], [t7.b], [t7.c], [t7.d]), filter(nil), rowset=16
|
||||
4 - output([t7.a], [t7.d], [t7.b], [t7.c]), filter(nil), rowset=16
|
||||
access([t7.a], [t7.d], [t7.b], [t7.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t7.__pk_increment]), range(MIN ; MAX)always true
|
||||
select /*+use_nl(t2,t7)*/* from t2 left join t7 on t2.b = t7.a and t2.c = t7.d order by t2.a,t2.b,t7.a,t7.b;
|
||||
a b c a b c d
|
||||
@ -1711,11 +1711,11 @@ Outputs & filters:
|
||||
merge_directions([ASC], [ASC])
|
||||
1 - output([t8.a], [t8.c], [t8.b]), filter(nil), rowset=16
|
||||
access([t8.a], [t8.c], [t8.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t8.b], [t8.c], [t8.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
2 - output([t9.a], [t9.c], [t9.b]), filter(nil), rowset=16
|
||||
access([t9.a], [t9.c], [t9.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t9.b], [t9.c], [t9.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
select /*+use_merge(t8 t9)*/ * from t8 join t9 on t8.c = t9.c and t8.b = t9.b;
|
||||
a b c a b c
|
||||
@ -1745,13 +1745,13 @@ Outputs & filters:
|
||||
sort_keys([t8.b, ASC], [t8.a, ASC]), prefix_pos(1)
|
||||
2 - output([t8.a], [t8.b], [t8.c]), filter(nil), rowset=16
|
||||
access([t8.a], [t8.b], [t8.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t8.b], [t8.c], [t8.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
3 - output([t9.a], [t9.b], [t9.c]), filter(nil), rowset=16
|
||||
sort_keys([t9.a, ASC])
|
||||
4 - output([t9.a], [t9.b], [t9.c]), filter(nil), rowset=16
|
||||
access([t9.a], [t9.b], [t9.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t9.b], [t9.c], [t9.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
select /*+index(t8 idx), index(t9 idx), use_merge(t8 t9)*/ * from t8 join t9 on t8.a = t9.b and t8.b = t9.a;
|
||||
a b c a b c
|
||||
@ -1772,11 +1772,11 @@ Outputs & filters:
|
||||
merge_directions([ASC], [ASC])
|
||||
1 - output([t8.a], [t8.c], [t8.b]), filter(nil), rowset=16
|
||||
access([t8.a], [t8.c], [t8.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t8.b], [t8.c], [t8.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
2 - output([t9.a], [t9.c], [t9.b]), filter(nil), rowset=16
|
||||
access([t9.a], [t9.c], [t9.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t9.b], [t9.c], [t9.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
select /*+use_merge(t8 t9)*/ * from t8 left join t9 on t8.c = t9.c and t8.b = t9.b;
|
||||
a b c a b c
|
||||
@ -1806,13 +1806,13 @@ Outputs & filters:
|
||||
sort_keys([t8.b, ASC], [t8.a, ASC]), prefix_pos(1)
|
||||
2 - output([t8.a], [t8.b], [t8.c]), filter(nil), rowset=16
|
||||
access([t8.a], [t8.b], [t8.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t8.b], [t8.c], [t8.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
3 - output([t9.a], [t9.b], [t9.c]), filter(nil), rowset=16
|
||||
sort_keys([t9.a, ASC])
|
||||
4 - output([t9.a], [t9.b], [t9.c]), filter(nil), rowset=16
|
||||
access([t9.a], [t9.b], [t9.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t9.b], [t9.c], [t9.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
select /*+index(t8 idx), index(t9 idx), use_merge(t8 t9)*/ * from t8 left join t9 on t8.a = t9.b and t8.b = t9.a;
|
||||
a b c a b c
|
||||
@ -1838,11 +1838,11 @@ Outputs & filters:
|
||||
merge_directions([ASC], [ASC])
|
||||
1 - output([t8.a], [t8.c], [t8.b]), filter(nil), rowset=16
|
||||
access([t8.a], [t8.c], [t8.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t8.b], [t8.c], [t8.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
2 - output([t9.a], [t9.c], [t9.b]), filter(nil), rowset=16
|
||||
access([t9.a], [t9.c], [t9.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t9.b], [t9.c], [t9.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
select /*+use_merge(t8 t9)*/ * from t8 right join t9 on t8.c = t9.c and t8.b = t9.b;
|
||||
a b c a b c
|
||||
@ -1873,13 +1873,13 @@ Outputs & filters:
|
||||
sort_keys([t8.b, ASC], [t8.a, ASC]), prefix_pos(1)
|
||||
2 - output([t8.a], [t8.b], [t8.c]), filter(nil), rowset=16
|
||||
access([t8.a], [t8.b], [t8.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t8.b], [t8.c], [t8.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
3 - output([t9.a], [t9.b], [t9.c]), filter(nil), rowset=16
|
||||
sort_keys([t9.a, ASC])
|
||||
4 - output([t9.a], [t9.b], [t9.c]), filter(nil), rowset=16
|
||||
access([t9.a], [t9.b], [t9.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t9.b], [t9.c], [t9.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
select /*+index(t8 idx), index(t9 idx), use_merge(t8 t9)*/ * from t8 right join t9 on t8.a = t9.b and t8.b = t9.a;
|
||||
a b c a b c
|
||||
@ -1906,11 +1906,11 @@ Outputs & filters:
|
||||
merge_directions([ASC], [ASC])
|
||||
1 - output([t8.a], [t8.c], [t8.b]), filter(nil), rowset=16
|
||||
access([t8.a], [t8.c], [t8.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t8.b], [t8.c], [t8.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
2 - output([t9.a], [t9.c], [t9.b]), filter(nil), rowset=16
|
||||
access([t9.a], [t9.c], [t9.b]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t9.b], [t9.c], [t9.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
select /*+use_merge(t8 t9)*/ * from t8 right join t9 on t8.c = t9.c and t8.b = t9.b;
|
||||
a b c a b c
|
||||
@ -1941,13 +1941,13 @@ Outputs & filters:
|
||||
sort_keys([t8.b, ASC], [t8.a, ASC]), prefix_pos(1)
|
||||
2 - output([t8.a], [t8.b], [t8.c]), filter(nil), rowset=16
|
||||
access([t8.a], [t8.b], [t8.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t8.b], [t8.c], [t8.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
3 - output([t9.a], [t9.b], [t9.c]), filter(nil), rowset=16
|
||||
sort_keys([t9.a, ASC])
|
||||
4 - output([t9.a], [t9.b], [t9.c]), filter(nil), rowset=16
|
||||
access([t9.a], [t9.b], [t9.c]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t9.b], [t9.c], [t9.a]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
|
||||
select /*+index(t8 idx), index(t9 idx), use_merge(t8 t9)*/ * from t8 full join t9 on t8.a = t9.b and t8.b = t9.a;
|
||||
a b c a b c
|
||||
@ -1986,13 +1986,13 @@ Outputs & filters:
|
||||
merge_directions([ASC], [ASC])
|
||||
2 - output([table1.pk], [table1.col_int_key], [table1.col_varchar_10_key]), filter(nil), rowset=256
|
||||
access([table1.pk], [table1.col_int_key], [table1.col_varchar_10_key]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([table1.pk]), range(MIN ; MAX)always true
|
||||
3 - output([table2.col_int_key], [table2.pk]), filter(nil), rowset=256
|
||||
sort_keys([table2.col_int_key, ASC], [table2.pk, ASC])
|
||||
4 - output([table2.pk], [table2.col_int_key]), filter(nil), rowset=256
|
||||
access([table2.pk], [table2.col_int_key]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([table2.pk], [table2.col_int_key]), range(MIN,MIN ; MAX,MAX)always true
|
||||
SELECT /*+no_rewrite,leading(table1 table2),use_merge(table1 table2)*/ table1 . col_varchar_10_key AS field1 FROM BB AS table1, CC AS table2 WHERE table1 . `col_int_key` = table2 . `pk` and table2 . `col_int_key` = table1 . `pk` ORDER BY table1 . col_int_key DESC;
|
||||
field1
|
||||
|
||||
@ -31,13 +31,13 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
1 - output([t1.id]), filter(nil), rowset=16
|
||||
access([t1.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.id]), range(200 ; MAX),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.id]), range(200 ; MAX),
|
||||
range_cond([t1.id > 200])
|
||||
2 - output([t2.id]), filter(nil), rowset=16
|
||||
access([t2.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.id]), range(200 ; MAX),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.id]), range(200 ; MAX),
|
||||
range_cond([t2.id > 200])
|
||||
select t1.id, t2.id from t1, t2 where t2.id = t1.id and t1.id>200;
|
||||
+----+----+
|
||||
@ -61,13 +61,13 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
1 - output([t1.id]), filter(nil), rowset=16
|
||||
access([t1.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.id]), range(MAX ; MIN)always false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.id]), range(MAX ; MIN)always false,
|
||||
range_cond([t1.id > 200], [t1.id < 200])
|
||||
2 - output([t2.id]), filter(nil), rowset=16
|
||||
access([t2.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.id]), range(200 ; MAX),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.id]), range(200 ; MAX),
|
||||
range_cond([t2.id > 200])
|
||||
select t1.id, t2.id from t1, t2 where t2.id = t1.id and t1.id>200 and t1.id<200;
|
||||
+----+----+
|
||||
@ -91,13 +91,13 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
1 - output([a.id]), filter(nil), rowset=16
|
||||
access([a.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.id]), range(MAX ; MIN)always false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.id]), range(MAX ; MIN)always false,
|
||||
range_cond([a.id > 200], [a.id < 200])
|
||||
2 - output([b.id]), filter(nil), rowset=16
|
||||
access([b.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.id]), range(200 ; MAX),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.id]), range(200 ; MAX),
|
||||
range_cond([b.id > 200])
|
||||
select a.id , b.id from t1 a, t2 b where a.id = b.id and a.id>200 and a.id<200;
|
||||
+----+----+
|
||||
@ -121,13 +121,13 @@ Outputs & filters:
|
||||
conds(nil), nl_params_(nil), use_batch=false
|
||||
1 - output([b.id]), filter(nil), rowset=16
|
||||
access([b.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.id]), range(MIN ; MAX)always true
|
||||
2 - output([a.id]), filter(nil), rowset=16
|
||||
3 - output([a.id]), filter([a.id = a.id]), rowset=16
|
||||
access([a.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([a.id]), range(MAX ; MIN)always false,
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([a.id]), range(MAX ; MIN)always false,
|
||||
range_cond([a.id > 200], [a.id < 200])
|
||||
select a.id, b.id from t1 a, t2 b where a.id = a.id and a.id>200 and a.id<200;
|
||||
+----+----+
|
||||
|
||||
@ -33,13 +33,13 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
1 - output([t1.id]), filter(nil), rowset=16
|
||||
access([t1.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.id]), range(200 ; MAX),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.id]), range(200 ; MAX),
|
||||
range_cond([t1.id > 200])
|
||||
2 - output([t2.id]), filter(nil), rowset=16
|
||||
access([t2.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.id]), range(200 ; MAX),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.id]), range(200 ; MAX),
|
||||
range_cond([t2.id > 200])
|
||||
select t1.id, t2.id from t1 join t2 on t2.id = t1.id and t1.id>200;
|
||||
+----+----+
|
||||
@ -63,13 +63,13 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
1 - output([t1.id]), filter(nil), rowset=16
|
||||
access([t1.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.id]), range(MAX ; MIN)always false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.id]), range(MAX ; MIN)always false,
|
||||
range_cond([t1.id > 200], [t1.id < 200])
|
||||
2 - output([t2.id]), filter(nil), rowset=16
|
||||
access([t2.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.id]), range(200 ; MAX),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.id]), range(200 ; MAX),
|
||||
range_cond([t2.id > 200])
|
||||
select t1.id, t2.id from t1 join t2 on t2.id = t1.id and t1.id>200 and t1.id<200;
|
||||
+----+----+
|
||||
@ -93,13 +93,13 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
1 - output([a.id]), filter(nil), rowset=16
|
||||
access([a.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.id]), range(MAX ; MIN)always false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.id]), range(MAX ; MIN)always false,
|
||||
range_cond([a.id > 200], [a.id < 200])
|
||||
2 - output([b.id]), filter(nil), rowset=16
|
||||
access([b.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.id]), range(200 ; MAX),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.id]), range(200 ; MAX),
|
||||
range_cond([b.id > 200])
|
||||
select a.id , b.id from t1 a join t2 b on a.id = b.id and a.id>200 and a.id<200;
|
||||
+----+----+
|
||||
@ -123,13 +123,13 @@ Outputs & filters:
|
||||
conds(nil), nl_params_(nil), use_batch=false
|
||||
1 - output([b.id]), filter(nil), rowset=16
|
||||
access([b.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.id]), range(MIN ; MAX)always true
|
||||
2 - output([a.id]), filter(nil), rowset=16
|
||||
3 - output([a.id]), filter([a.id = a.id]), rowset=16
|
||||
access([a.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([a.id]), range(MAX ; MIN)always false,
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([a.id]), range(MAX ; MIN)always false,
|
||||
range_cond([a.id > 200], [a.id < 200])
|
||||
select a.id, b.id from t1 a join t2 b on a.id = a.id and a.id>200 and a.id<200;
|
||||
+----+----+
|
||||
|
||||
@ -33,13 +33,13 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
1 - output([t1.id]), filter(nil), rowset=16
|
||||
access([t1.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.id]), range(200 ; MAX),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.id]), range(200 ; MAX),
|
||||
range_cond([t1.id > 200])
|
||||
2 - output([t2.id]), filter(nil), rowset=16
|
||||
access([t2.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.id]), range(200 ; MAX),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.id]), range(200 ; MAX),
|
||||
range_cond([t2.id > 200])
|
||||
select t1.id, t2.id from t1 join t2 on t2.id = t1.id where t1.id>200;
|
||||
+----+----+
|
||||
@ -63,13 +63,13 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
1 - output([t1.id]), filter(nil), rowset=16
|
||||
access([t1.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.id]), range(200 ; MAX),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t1.id]), range(200 ; MAX),
|
||||
range_cond([t1.id > 200])
|
||||
2 - output([t2.id]), filter(nil), rowset=16
|
||||
access([t2.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.id]), range(NULL ; 200),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([t2.id]), range(NULL ; 200),
|
||||
range_cond([t2.id < 200])
|
||||
select t1.id, t2.id from t1 join t2 on t2.id = t1.id where t1.id>200 and t1.id<200;
|
||||
+----+----+
|
||||
@ -93,13 +93,13 @@ Outputs & filters:
|
||||
merge_directions([ASC])
|
||||
1 - output([a.id]), filter(nil), rowset=16
|
||||
access([a.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.id]), range(200 ; MAX),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([a.id]), range(200 ; MAX),
|
||||
range_cond([a.id > 200])
|
||||
2 - output([b.id]), filter(nil), rowset=16
|
||||
access([b.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.id]), range(NULL ; 200),
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.id]), range(NULL ; 200),
|
||||
range_cond([b.id < 200])
|
||||
select a.id , b.id from t1 a join t2 b on a.id = b.id where a.id>200 and a.id<200;
|
||||
+----+----+
|
||||
@ -123,13 +123,13 @@ Outputs & filters:
|
||||
conds(nil), nl_params_(nil), use_batch=false
|
||||
1 - output([b.id]), filter(nil), rowset=16
|
||||
access([b.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false,
|
||||
is_index_back=false, is_global_index=false,
|
||||
range_key([b.id]), range(MIN ; MAX)always true
|
||||
2 - output([a.id]), filter(nil), rowset=16
|
||||
3 - output([a.id]), filter([a.id = a.id]), rowset=16
|
||||
access([a.id]), partitions(p0)
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([a.id]), range(MAX ; MIN)always false,
|
||||
is_index_back=false, is_global_index=false, filter_before_indexback[false],
|
||||
range_key([a.id]), range(MAX ; MIN)always false,
|
||||
range_cond([a.id > 200], [a.id < 200])
|
||||
select a.id , b.id from t1 a join t2 b on a.id = a.id where a.id>200 and a.id<200;
|
||||
+----+----+
|
||||
|
||||
Reference in New Issue
Block a user