Do not report ERROR when sample rate equals 100

This commit is contained in:
ZenoWang
2024-02-06 14:49:31 +00:00
committed by ob-robot
parent 1f1d5c08ae
commit c8ef409bf3
3710 changed files with 486984 additions and 3083329 deletions

View File

@ -427,14 +427,14 @@ INSERT INTO t1 (g) VALUES
(ST_GeomFromText('POINT(6 6)', 3294)),
(ST_GeomFromText('POINT(7 7)', 3294)),
(ST_GeomFromText('LINESTRING(0 0, 3 3)',3294));
explain select /*+dynamic_sampling(1)*/st_astext(a.g), st_astext(b.g) from t1 a join t1 b where _st_covers(a.g, b.g);
explain select st_astext(a.g), st_astext(b.g) from t1 a join t1 b where _st_covers(a.g, b.g);
Query Plan
===============================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
---------------------------------------------------------------
|0 |NESTED-LOOP JOIN | |21 |306 |
|0 |NESTED-LOOP JOIN | |27 |345 |
|1 |├─TABLE FULL SCAN |a |9 |3 |
|2 |└─DISTRIBUTED TABLE FULL SCAN|b(idx)|3 |33 |
|2 |└─DISTRIBUTED TABLE FULL SCAN|b(idx)|3 |38 |
===============================================================
Outputs & filters:
-------------------------------------
@ -448,14 +448,14 @@ Outputs & filters:
access([b.__pk_increment], [b.g]), partitions(p0)
is_index_back=true, is_global_index=false, filter_before_indexback[false],
range_key([b.__cellid_16], [b.__mbr_16], [b.__pk_increment]), range(MIN ; MAX)
explain select /*+dynamic_sampling(1)*/st_astext(a.g), st_astext(b.g) from t1 a join t1 b where st_contains(a.g, b.g);
explain select st_astext(a.g), st_astext(b.g) from t1 a join t1 b where st_contains(a.g, b.g);
Query Plan
===============================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
---------------------------------------------------------------
|0 |NESTED-LOOP JOIN | |21 |306 |
|0 |NESTED-LOOP JOIN | |27 |345 |
|1 |├─TABLE FULL SCAN |a |9 |3 |
|2 |└─DISTRIBUTED TABLE FULL SCAN|b(idx)|3 |33 |
|2 |└─DISTRIBUTED TABLE FULL SCAN|b(idx)|3 |38 |
===============================================================
Outputs & filters:
-------------------------------------
@ -469,14 +469,14 @@ Outputs & filters:
access([b.__pk_increment], [b.g]), partitions(p0)
is_index_back=true, is_global_index=false, filter_before_indexback[false],
range_key([b.__cellid_16], [b.__mbr_16], [b.__pk_increment]), range(MIN ; MAX)
explain select /*+dynamic_sampling(1)*/st_astext(a.g), st_astext(b.g) from t1 a join t1 b where st_within(a.g, b.g);
explain select st_astext(a.g), st_astext(b.g) from t1 a join t1 b where st_within(a.g, b.g);
Query Plan
===============================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
---------------------------------------------------------------
|0 |NESTED-LOOP JOIN | |21 |306 |
|0 |NESTED-LOOP JOIN | |27 |345 |
|1 |├─TABLE FULL SCAN |a |9 |3 |
|2 |└─DISTRIBUTED TABLE FULL SCAN|b(idx)|3 |33 |
|2 |└─DISTRIBUTED TABLE FULL SCAN|b(idx)|3 |38 |
===============================================================
Outputs & filters:
-------------------------------------
@ -490,14 +490,14 @@ Outputs & filters:
access([b.__pk_increment], [b.g]), partitions(p0)
is_index_back=true, is_global_index=false, filter_before_indexback[false],
range_key([b.__cellid_16], [b.__mbr_16], [b.__pk_increment]), range(MIN ; MAX)
explain select /*+dynamic_sampling(1)*/st_astext(a.g), st_astext(b.g) from t1 a join t1 b where _st_dwithin(a.g, b.g, 0.1);
explain select st_astext(a.g), st_astext(b.g) from t1 a join t1 b where _st_dwithin(a.g, b.g, 0.1);
Query Plan
===============================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
---------------------------------------------------------------
|0 |NESTED-LOOP JOIN | |21 |306 |
|0 |NESTED-LOOP JOIN | |27 |345 |
|1 |├─TABLE FULL SCAN |a |9 |3 |
|2 |└─DISTRIBUTED TABLE FULL SCAN|b(idx)|3 |33 |
|2 |└─DISTRIBUTED TABLE FULL SCAN|b(idx)|3 |38 |
===============================================================
Outputs & filters:
-------------------------------------
@ -507,7 +507,7 @@ Outputs & filters:
access([a.g]), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([a.__pk_increment]), range(MIN ; MAX)always true
2 - output([b.g]), filter([_st_dwithin(:0, b.g, cast(0.1, DOUBLE(2, 1)))])
2 - output([b.g]), filter([_st_dwithin(:0, b.g, cast(0.1, DOUBLE(-1, -1)))])
access([b.__pk_increment], [b.g]), partitions(p0)
is_index_back=true, is_global_index=false, filter_before_indexback[false],
range_key([b.__cellid_16], [b.__mbr_16], [b.__pk_increment]), range(MIN ; MAX)

View File

@ -232,7 +232,7 @@ Outline Data:
/*+
BEGIN_OUTLINE_DATA
FULL(@"SEL$1" "test"."tt2"@"SEL$1")
OPTIMIZER_FEATURES_ENABLE('')
OPTIMIZER_FEATURES_ENABLE('4.0.0.0')
END_OUTLINE_DATA
*/
Optimization Info:
@ -249,7 +249,6 @@ Optimization Info:
pruned_index_name:[idx]
stats version:0
dynamic sampling level:0
estimation method:[DEFAULT, STORAGE]
Plan Type:
LOCAL
Note:
@ -281,7 +280,7 @@ Outline Data:
/*+
BEGIN_OUTLINE_DATA
FULL(@"SEL$1" "test"."tt2"@"SEL$1")
OPTIMIZER_FEATURES_ENABLE('')
OPTIMIZER_FEATURES_ENABLE('4.0.0.0')
END_OUTLINE_DATA
*/
Optimization Info:
@ -298,7 +297,6 @@ Optimization Info:
pruned_index_name:[idx]
stats version:0
dynamic sampling level:0
estimation method:[DEFAULT, STORAGE]
Plan Type:
LOCAL
Note:
@ -337,7 +335,7 @@ Outline Data:
/*+
BEGIN_OUTLINE_DATA
INDEX(@"SEL$1" "test"."tt2"@"SEL$1" "idx")
OPTIMIZER_FEATURES_ENABLE('')
OPTIMIZER_FEATURES_ENABLE('4.0.0.0')
END_OUTLINE_DATA
*/
Optimization Info:
@ -354,7 +352,6 @@ Optimization Info:
unstable_index_name:[tt2]
stats version:0
dynamic sampling level:0
estimation method:[DEFAULT, STORAGE]
Plan Type:
LOCAL
Note:
@ -390,7 +387,7 @@ Outline Data:
/*+
BEGIN_OUTLINE_DATA
INDEX(@"SEL$1" "test"."tt2"@"SEL$1" "idx")
OPTIMIZER_FEATURES_ENABLE('')
OPTIMIZER_FEATURES_ENABLE('4.0.0.0')
END_OUTLINE_DATA
*/
Optimization Info:
@ -407,7 +404,6 @@ Optimization Info:
pruned_index_name:[tt2]
stats version:0
dynamic sampling level:0
estimation method:[DEFAULT, STORAGE]
Plan Type:
LOCAL
Note:
@ -443,7 +439,7 @@ Outline Data:
/*+
BEGIN_OUTLINE_DATA
INDEX(@"SEL$1" "test"."tt2"@"SEL$1" "idx")
OPTIMIZER_FEATURES_ENABLE('')
OPTIMIZER_FEATURES_ENABLE('4.0.0.0')
END_OUTLINE_DATA
*/
Optimization Info:
@ -460,7 +456,6 @@ Optimization Info:
unstable_index_name:[tt2]
stats version:0
dynamic sampling level:0
estimation method:[DEFAULT, STORAGE]
Plan Type:
LOCAL
Note:
@ -496,7 +491,7 @@ Outline Data:
/*+
BEGIN_OUTLINE_DATA
INDEX(@"SEL$1" "test"."tt2"@"SEL$1" "idx")
OPTIMIZER_FEATURES_ENABLE('')
OPTIMIZER_FEATURES_ENABLE('4.0.0.0')
END_OUTLINE_DATA
*/
Optimization Info:
@ -513,7 +508,6 @@ Optimization Info:
pruned_index_name:[tt2]
stats version:0
dynamic sampling level:0
estimation method:[DEFAULT, STORAGE]
Plan Type:
LOCAL
Note:

View File

@ -1,47 +1,47 @@
# ----------------------------------------------------------------------
# Base test of GEOMETRY spatial index.
# ----------------------------------------------------------------------
DROP TABLE IF EXISTS partition_t1;
create table partition_t1(c1 int primary key, g geometry not null srid 0) partition by hash(c1) partitions 2;
create spatial index idx on partition_t1 (g) local;
insert into partition_t1 (c1, g) values (0, st_geomfromtext('point(1 1)'));
explain select /*+index(partition_t1 idx)*/ st_astext(g) from partition_t1 where st_intersects(g, st_geomfromtext('point(1 1)'));
DROP TABLE IF EXISTS t1;
create table t1(c1 int primary key, g geometry not null srid 0) partition by hash(c1) partitions 2;
create spatial index idx on t1 (g) local;
insert into t1 (c1, g) values (0, st_geomfromtext('point(1 1)'));
explain select /*+index(t1 idx)*/ st_astext(g) from t1 where st_intersects(g, st_geomfromtext('point(1 1)'));
Query Plan
======================================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
----------------------------------------------------------------------
|0 |PX COORDINATOR | |1 |289 |
|1 |└─EXCHANGE OUT DISTR |:EX10000 |1 |289 |
|2 | └─PX PARTITION ITERATOR| |1 |289 |
|3 | └─TABLE FULL SCAN |partition_t1(idx)|1 |289 |
======================================================================
=============================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
-------------------------------------------------------------
|0 |PX COORDINATOR | |1 |291 |
|1 |└─EXCHANGE OUT DISTR |:EX10000|1 |291 |
|2 | └─PX PARTITION ITERATOR| |1 |289 |
|3 | └─TABLE FULL SCAN |t1(idx) |1 |289 |
=============================================================
Outputs & filters:
-------------------------------------
0 - output([INTERNAL_FUNCTION(st_astext(partition_t1.g))]), filter(nil)
1 - output([INTERNAL_FUNCTION(st_astext(partition_t1.g))]), filter(nil)
0 - output([INTERNAL_FUNCTION(st_astext(t1.g))]), filter(nil)
1 - output([INTERNAL_FUNCTION(st_astext(t1.g))]), filter(nil)
dop=1
2 - output([partition_t1.g]), filter(nil)
2 - output([t1.g]), filter(nil)
force partition granule
3 - output([partition_t1.g]), filter([st_intersects(partition_t1.g, st_geomfromtext('point(1 1)'))])
access([partition_t1.c1], [partition_t1.g]), partitions(p[0-1])
3 - output([t1.g]), filter([st_intersects(t1.g, st_geomfromtext('point(1 1)'))])
access([t1.c1], [t1.g]), partitions(p[0-1])
is_index_back=true, is_global_index=false, filter_before_indexback[false],
range_key([partition_t1.__cellid_17], [partition_t1.__mbr_17], [partition_t1.c1]), range(1152921504606846977,MIN,MIN ; 1152921504606846977,MAX,MAX),
(1152921504606846980,MIN,MIN ; 1152921504606846980,MAX,MAX), (1152921504606846992,MIN,MIN ; 1152921504606846992,MAX,MAX), (1152921504606847040,MIN,MIN
; 1152921504606847040,MAX,MAX), (1152921504606847232,MIN,MIN ; 1152921504606847232,MAX,MAX), (1152921504606848000,MIN,MIN ; 1152921504606848000,MAX,MAX),
(1152921504606851072,MIN,MIN ; 1152921504606851072,MAX,MAX), (1152921504606863360,MIN,MIN ; 1152921504606863360,MAX,MAX), (1152921504606912512,MIN,MIN
; 1152921504606912512,MAX,MAX), (1152921504607109120,MIN,MIN ; 1152921504607109120,MAX,MAX), (1152921504607895552,MIN,MIN ; 1152921504607895552,MAX,MAX),
(1152921504611041280,MIN,MIN ; 1152921504611041280,MAX,MAX), (1152921504623624192,MIN,MIN ; 1152921504623624192,MAX,MAX), (1152921504673955840,MIN,MIN
; 1152921504673955840,MAX,MAX), (1152921504875282432,MIN,MIN ; 1152921504875282432,MAX,MAX), (1152921505680588800,MIN,MIN ; 1152921505680588800,MAX,MAX),
(1152921508901814272,MIN,MIN ; 1152921508901814272,MAX,MAX), (1152921521786716160,MIN,MIN ; 1152921521786716160,MAX,MAX), (1152921573326323712,MIN,MIN
; 1152921573326323712,MAX,MAX), (1152921779484753920,MIN,MIN ; 1152921779484753920,MAX,MAX), (1152922604118474752,MIN,MIN ; 1152922604118474752,MAX,MAX),
(1152925902653358080,MIN,MIN ; 1152925902653358080,MAX,MAX), (1152939096792891392,MIN,MIN ; 1152939096792891392,MAX,MAX), (1152991873351024640,MIN,MIN
; 1152991873351024640,MAX,MAX), (1153202979583557632,MIN,MIN ; 1153202979583557632,MAX,MAX), (1154047404513689600,MIN,MIN ; 1154047404513689600,MAX,MAX),
(1157425104234217472,MIN,MIN ; 1157425104234217472,MAX,MAX), (1170935903116328960,MIN,MIN ; 1170935903116328960,MAX,MAX), (1224979098644774912,MIN,MIN
; 1224979098644774912,MAX,MAX), (1441151880758558720,MIN,MIN ; 1441151880758558720,MAX,MAX), (1152921504606846976,MIN,MIN ; 1152921504606846976,MAX,MAX)
select /*+index(partition_t1 idx)*/ st_astext(g) from partition_t1 where st_intersects(g, st_geomfromtext('point(1 1)'));
range_key([t1.__cellid_17], [t1.__mbr_17], [t1.c1]), range(1152921504606846977,MIN,MIN ; 1152921504606846977,MAX,MAX), (1152921504606846980,MIN,MIN
; 1152921504606846980,MAX,MAX), (1152921504606846992,MIN,MIN ; 1152921504606846992,MAX,MAX), (1152921504606847040,MIN,MIN ; 1152921504606847040,MAX,MAX),
(1152921504606847232,MIN,MIN ; 1152921504606847232,MAX,MAX), (1152921504606848000,MIN,MIN ; 1152921504606848000,MAX,MAX), (1152921504606851072,MIN,MIN
; 1152921504606851072,MAX,MAX), (1152921504606863360,MIN,MIN ; 1152921504606863360,MAX,MAX), (1152921504606912512,MIN,MIN ; 1152921504606912512,MAX,MAX),
(1152921504607109120,MIN,MIN ; 1152921504607109120,MAX,MAX), (1152921504607895552,MIN,MIN ; 1152921504607895552,MAX,MAX), (1152921504611041280,MIN,MIN
; 1152921504611041280,MAX,MAX), (1152921504623624192,MIN,MIN ; 1152921504623624192,MAX,MAX), (1152921504673955840,MIN,MIN ; 1152921504673955840,MAX,MAX),
(1152921504875282432,MIN,MIN ; 1152921504875282432,MAX,MAX), (1152921505680588800,MIN,MIN ; 1152921505680588800,MAX,MAX), (1152921508901814272,MIN,MIN
; 1152921508901814272,MAX,MAX), (1152921521786716160,MIN,MIN ; 1152921521786716160,MAX,MAX), (1152921573326323712,MIN,MIN ; 1152921573326323712,MAX,MAX),
(1152921779484753920,MIN,MIN ; 1152921779484753920,MAX,MAX), (1152922604118474752,MIN,MIN ; 1152922604118474752,MAX,MAX), (1152925902653358080,MIN,MIN
; 1152925902653358080,MAX,MAX), (1152939096792891392,MIN,MIN ; 1152939096792891392,MAX,MAX), (1152991873351024640,MIN,MIN ; 1152991873351024640,MAX,MAX),
(1153202979583557632,MIN,MIN ; 1153202979583557632,MAX,MAX), (1154047404513689600,MIN,MIN ; 1154047404513689600,MAX,MAX), (1157425104234217472,MIN,MIN
; 1157425104234217472,MAX,MAX), (1170935903116328960,MIN,MIN ; 1170935903116328960,MAX,MAX), (1224979098644774912,MIN,MIN ; 1224979098644774912,MAX,MAX),
(1441151880758558720,MIN,MIN ; 1441151880758558720,MAX,MAX), (1152921504606846976,MIN,MIN ; 1152921504606846976,MAX,MAX)
select /*+index(t1 idx)*/ st_astext(g) from t1 where st_intersects(g, st_geomfromtext('point(1 1)'));
st_astext(g)
POINT(1 1)
drop table partition_t1;
drop table t1;
DROP TABLE IF EXISTS t1;
create table t1(c1 int primary key, g geometry not null srid 0) partition by range(c1) ( partition p0 values less than (4),
partition p1 values less than (10));
@ -61,10 +61,10 @@ Query Plan
=============================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
-------------------------------------------------------------
|0 |PX COORDINATOR | |1 |543 |
|1 |└─EXCHANGE OUT DISTR |:EX10000|1 |542 |
|2 | └─PX PARTITION ITERATOR| |1 |541 |
|3 | └─TABLE FULL SCAN |t1(idx) |1 |541 |
|0 |PX COORDINATOR | |10 |565 |
|1 |└─EXCHANGE OUT DISTR |:EX10000|10 |558 |
|2 | └─PX PARTITION ITERATOR| |10 |542 |
|3 | └─TABLE FULL SCAN |t1(idx) |10 |542 |
=============================================================
Outputs & filters:
-------------------------------------

View File

@ -75,7 +75,7 @@ Outline Data:
USE_NL_MATERIALIZATION(@"SEL$1" "test"."tgnoindex1"@"SEL$1")
FULL(@"SEL$1" "test"."tgnoindex2"@"SEL$1")
FULL(@"SEL$1" "test"."tgnoindex1"@"SEL$1")
OPTIMIZER_FEATURES_ENABLE('')
OPTIMIZER_FEATURES_ENABLE('4.0.0.0')
END_OUTLINE_DATA
*/
Optimization Info:
@ -91,7 +91,6 @@ Optimization Info:
avaiable_index_name:[tgnoindex2]
stats version:0
dynamic sampling level:1
estimation method:[DYNAMIC SAMPLING FULL]
tgnoindex1:
table_rows:3
physical_range_rows:3
@ -103,7 +102,6 @@ Optimization Info:
avaiable_index_name:[tgnoindex1]
stats version:0
dynamic sampling level:1
estimation method:[DYNAMIC SAMPLING FULL]
Plan Type:
LOCAL
Note:
@ -181,7 +179,7 @@ Outline Data:
FULL(@"SEL$1" "test"."tgeom1"@"SEL$1")
INDEX(@"SEL$1" "test"."tgeom2"@"SEL$1" "gidx2")
USE_DAS(@"SEL$1" "test"."tgeom2"@"SEL$1")
OPTIMIZER_FEATURES_ENABLE('')
OPTIMIZER_FEATURES_ENABLE('4.0.0.0')
END_OUTLINE_DATA
*/
Optimization Info:
@ -198,7 +196,6 @@ Optimization Info:
pruned_index_name:[gidx1]
stats version:0
dynamic sampling level:1
estimation method:[DYNAMIC SAMPLING FULL]
tgeom2:
table_rows:10
physical_range_rows:2
@ -210,7 +207,6 @@ Optimization Info:
avaiable_index_name:[gidx2, tgeom2]
stats version:0
dynamic sampling level:1
estimation method:[DYNAMIC SAMPLING BASIC]
Plan Type:
LOCAL
Note:
@ -297,7 +293,7 @@ Outline Data:
FULL(@"SEL$1" "test"."ptgeom1"@"SEL$1")
INDEX(@"SEL$1" "test"."ptgeom2"@"SEL$1" "pgidx2")
USE_DAS(@"SEL$1" "test"."ptgeom2"@"SEL$1")
OPTIMIZER_FEATURES_ENABLE('')
OPTIMIZER_FEATURES_ENABLE('4.0.0.0')
END_OUTLINE_DATA
*/
Optimization Info:
@ -314,7 +310,6 @@ Optimization Info:
pruned_index_name:[pgidx1]
stats version:0
dynamic sampling level:1
estimation method:[DYNAMIC SAMPLING FULL]
ptgeom2:
table_rows:10
physical_range_rows:2
@ -326,7 +321,6 @@ Optimization Info:
avaiable_index_name:[pgidx2, ptgeom2]
stats version:0
dynamic sampling level:1
estimation method:[DYNAMIC SAMPLING BASIC]
Plan Type:
DISTRIBUTED
Note: