You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4386 lines
262 KiB
4386 lines
262 KiB
set @@session.tidb_enable_table_partition=1;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
#
|
|
# Bug#53806: Wrong estimates for range query in partitioned MyISAM table
|
|
# Bug#46754: 'rows' field doesn't reflect partition pruning
|
|
#
|
|
CREATE TABLE t1 (a INT PRIMARY KEY)
|
|
PARTITION BY RANGE (a) (
|
|
PARTITION p0 VALUES LESS THAN (1),
|
|
PARTITION p1 VALUES LESS THAN (2),
|
|
PARTITION p2 VALUES LESS THAN (3),
|
|
PARTITION p3 VALUES LESS THAN (4),
|
|
PARTITION p4 VALUES LESS THAN (5),
|
|
PARTITION p5 VALUES LESS THAN (6),
|
|
PARTITION max VALUES LESS THAN MAXVALUE);
|
|
INSERT INTO t1 VALUES (-1),(0),(1),(2),(3),(4),(5),(6),(7),(8);
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 1;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 2.00 root
|
|
├─TableReader_10 3333.33 root data:TableRangeScan_9
|
|
│ └─TableRangeScan_9 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,1], keep order:false, stats:pseudo
|
|
└─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
└─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,1], keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 7;
|
|
id estRows task access object operator info
|
|
PartitionUnion_13 49.00 root
|
|
├─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
│ └─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,7), keep order:false, stats:pseudo
|
|
├─TableReader_17 3333.33 root data:TableRangeScan_16
|
|
│ └─TableRangeScan_16 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,7), keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:TableRangeScan_18
|
|
│ └─TableRangeScan_18 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,7), keep order:false, stats:pseudo
|
|
├─TableReader_21 3333.33 root data:TableRangeScan_20
|
|
│ └─TableRangeScan_20 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,7), keep order:false, stats:pseudo
|
|
├─TableReader_23 3333.33 root data:TableRangeScan_22
|
|
│ └─TableRangeScan_22 3333.33 cop[tikv] table:t1, partition:p4 range:[-inf,7), keep order:false, stats:pseudo
|
|
├─TableReader_25 3333.33 root data:TableRangeScan_24
|
|
│ └─TableRangeScan_24 3333.33 cop[tikv] table:t1, partition:p5 range:[-inf,7), keep order:false, stats:pseudo
|
|
└─TableReader_27 3333.33 root data:TableRangeScan_26
|
|
└─TableRangeScan_26 3333.33 cop[tikv] table:t1, partition:max range:[-inf,7), keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 1;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 2.00 root
|
|
├─TableReader_10 3333.33 root data:TableRangeScan_9
|
|
│ └─TableRangeScan_9 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,1], keep order:false, stats:pseudo
|
|
└─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
└─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,1], keep order:false, stats:pseudo
|
|
DROP TABLE t1;
|
|
#
|
|
# Bug#49742: Partition Pruning not working correctly for RANGE
|
|
#
|
|
CREATE TABLE t1 (a INT PRIMARY KEY)
|
|
PARTITION BY RANGE (a) (
|
|
PARTITION p0 VALUES LESS THAN (1),
|
|
PARTITION p1 VALUES LESS THAN (2),
|
|
PARTITION p2 VALUES LESS THAN (3),
|
|
PARTITION p3 VALUES LESS THAN (4),
|
|
PARTITION p4 VALUES LESS THAN (5),
|
|
PARTITION p5 VALUES LESS THAN (6),
|
|
PARTITION max VALUES LESS THAN MAXVALUE);
|
|
INSERT INTO t1 VALUES (-1),(0),(1),(2),(3),(4),(5),(6),(7),(8);
|
|
SELECT * FROM t1 WHERE a < 1 order by a;
|
|
a
|
|
-1
|
|
0
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 1;
|
|
id estRows task access object operator info
|
|
TableReader_7 3333.33 root data:TableRangeScan_6
|
|
└─TableRangeScan_6 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,1), keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a < 2 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 4.00 root
|
|
├─TableReader_10 3333.33 root data:TableRangeScan_9
|
|
│ └─TableRangeScan_9 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,2), keep order:false, stats:pseudo
|
|
└─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
└─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,2), keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a < 3 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 3;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9.00 root
|
|
├─TableReader_11 3333.33 root data:TableRangeScan_10
|
|
│ └─TableRangeScan_10 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,3), keep order:false, stats:pseudo
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,3), keep order:false, stats:pseudo
|
|
└─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
└─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,3), keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a < 4 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 4;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 16.00 root
|
|
├─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
│ └─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,4), keep order:false, stats:pseudo
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,4), keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,4), keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
└─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,4), keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a < 5 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
4
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 5;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 25.00 root
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,5), keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
│ └─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,5), keep order:false, stats:pseudo
|
|
├─TableReader_17 3333.33 root data:TableRangeScan_16
|
|
│ └─TableRangeScan_16 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,5), keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:TableRangeScan_18
|
|
│ └─TableRangeScan_18 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,5), keep order:false, stats:pseudo
|
|
└─TableReader_21 3333.33 root data:TableRangeScan_20
|
|
└─TableRangeScan_20 3333.33 cop[tikv] table:t1, partition:p4 range:[-inf,5), keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a < 6 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 6;
|
|
id estRows task access object operator info
|
|
PartitionUnion_12 36.00 root
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,6), keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,6), keep order:false, stats:pseudo
|
|
├─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
│ └─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,6), keep order:false, stats:pseudo
|
|
├─TableReader_20 3333.33 root data:TableRangeScan_19
|
|
│ └─TableRangeScan_19 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,6), keep order:false, stats:pseudo
|
|
├─TableReader_22 3333.33 root data:TableRangeScan_21
|
|
│ └─TableRangeScan_21 3333.33 cop[tikv] table:t1, partition:p4 range:[-inf,6), keep order:false, stats:pseudo
|
|
└─TableReader_24 3333.33 root data:TableRangeScan_23
|
|
└─TableRangeScan_23 3333.33 cop[tikv] table:t1, partition:p5 range:[-inf,6), keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a < 7 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 7;
|
|
id estRows task access object operator info
|
|
PartitionUnion_13 49.00 root
|
|
├─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
│ └─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,7), keep order:false, stats:pseudo
|
|
├─TableReader_17 3333.33 root data:TableRangeScan_16
|
|
│ └─TableRangeScan_16 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,7), keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:TableRangeScan_18
|
|
│ └─TableRangeScan_18 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,7), keep order:false, stats:pseudo
|
|
├─TableReader_21 3333.33 root data:TableRangeScan_20
|
|
│ └─TableRangeScan_20 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,7), keep order:false, stats:pseudo
|
|
├─TableReader_23 3333.33 root data:TableRangeScan_22
|
|
│ └─TableRangeScan_22 3333.33 cop[tikv] table:t1, partition:p4 range:[-inf,7), keep order:false, stats:pseudo
|
|
├─TableReader_25 3333.33 root data:TableRangeScan_24
|
|
│ └─TableRangeScan_24 3333.33 cop[tikv] table:t1, partition:p5 range:[-inf,7), keep order:false, stats:pseudo
|
|
└─TableReader_27 3333.33 root data:TableRangeScan_26
|
|
└─TableRangeScan_26 3333.33 cop[tikv] table:t1, partition:max range:[-inf,7), keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a <= 1 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 1;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 2.00 root
|
|
├─TableReader_10 3333.33 root data:TableRangeScan_9
|
|
│ └─TableRangeScan_9 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,1], keep order:false, stats:pseudo
|
|
└─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
└─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,1], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a <= 2 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 6.00 root
|
|
├─TableReader_11 3333.33 root data:TableRangeScan_10
|
|
│ └─TableRangeScan_10 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,2], keep order:false, stats:pseudo
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,2], keep order:false, stats:pseudo
|
|
└─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
└─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,2], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a <= 3 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 3;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 12.00 root
|
|
├─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
│ └─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,3], keep order:false, stats:pseudo
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,3], keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,3], keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
└─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,3], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a <= 4 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
4
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 4;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 20.00 root
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,4], keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
│ └─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,4], keep order:false, stats:pseudo
|
|
├─TableReader_17 3333.33 root data:TableRangeScan_16
|
|
│ └─TableRangeScan_16 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,4], keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:TableRangeScan_18
|
|
│ └─TableRangeScan_18 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,4], keep order:false, stats:pseudo
|
|
└─TableReader_21 3333.33 root data:TableRangeScan_20
|
|
└─TableRangeScan_20 3333.33 cop[tikv] table:t1, partition:p4 range:[-inf,4], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a <= 5 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 5;
|
|
id estRows task access object operator info
|
|
PartitionUnion_12 30.00 root
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,5], keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,5], keep order:false, stats:pseudo
|
|
├─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
│ └─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,5], keep order:false, stats:pseudo
|
|
├─TableReader_20 3333.33 root data:TableRangeScan_19
|
|
│ └─TableRangeScan_19 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,5], keep order:false, stats:pseudo
|
|
├─TableReader_22 3333.33 root data:TableRangeScan_21
|
|
│ └─TableRangeScan_21 3333.33 cop[tikv] table:t1, partition:p4 range:[-inf,5], keep order:false, stats:pseudo
|
|
└─TableReader_24 3333.33 root data:TableRangeScan_23
|
|
└─TableRangeScan_23 3333.33 cop[tikv] table:t1, partition:p5 range:[-inf,5], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a <= 6 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 6;
|
|
id estRows task access object operator info
|
|
PartitionUnion_13 42.00 root
|
|
├─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
│ └─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,6], keep order:false, stats:pseudo
|
|
├─TableReader_17 3333.33 root data:TableRangeScan_16
|
|
│ └─TableRangeScan_16 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,6], keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:TableRangeScan_18
|
|
│ └─TableRangeScan_18 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,6], keep order:false, stats:pseudo
|
|
├─TableReader_21 3333.33 root data:TableRangeScan_20
|
|
│ └─TableRangeScan_20 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,6], keep order:false, stats:pseudo
|
|
├─TableReader_23 3333.33 root data:TableRangeScan_22
|
|
│ └─TableRangeScan_22 3333.33 cop[tikv] table:t1, partition:p4 range:[-inf,6], keep order:false, stats:pseudo
|
|
├─TableReader_25 3333.33 root data:TableRangeScan_24
|
|
│ └─TableRangeScan_24 3333.33 cop[tikv] table:t1, partition:p5 range:[-inf,6], keep order:false, stats:pseudo
|
|
└─TableReader_27 3333.33 root data:TableRangeScan_26
|
|
└─TableRangeScan_26 3333.33 cop[tikv] table:t1, partition:max range:[-inf,6], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a <= 7 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 7;
|
|
id estRows task access object operator info
|
|
PartitionUnion_13 49.00 root
|
|
├─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
│ └─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,7], keep order:false, stats:pseudo
|
|
├─TableReader_17 3333.33 root data:TableRangeScan_16
|
|
│ └─TableRangeScan_16 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,7], keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:TableRangeScan_18
|
|
│ └─TableRangeScan_18 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,7], keep order:false, stats:pseudo
|
|
├─TableReader_21 3333.33 root data:TableRangeScan_20
|
|
│ └─TableRangeScan_20 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,7], keep order:false, stats:pseudo
|
|
├─TableReader_23 3333.33 root data:TableRangeScan_22
|
|
│ └─TableRangeScan_22 3333.33 cop[tikv] table:t1, partition:p4 range:[-inf,7], keep order:false, stats:pseudo
|
|
├─TableReader_25 3333.33 root data:TableRangeScan_24
|
|
│ └─TableRangeScan_24 3333.33 cop[tikv] table:t1, partition:p5 range:[-inf,7], keep order:false, stats:pseudo
|
|
└─TableReader_27 3333.33 root data:TableRangeScan_26
|
|
└─TableRangeScan_26 3333.33 cop[tikv] table:t1, partition:max range:[-inf,7], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a = 1 order by a;
|
|
a
|
|
1
|
|
EXPLAIN SELECT * FROM t1 WHERE a = 1;
|
|
id estRows task access object operator info
|
|
Point_Get_6 1.00 root table:t1, partition:p1 handle:1
|
|
SELECT * FROM t1 WHERE a = 2 order by a;
|
|
a
|
|
2
|
|
EXPLAIN SELECT * FROM t1 WHERE a = 2;
|
|
id estRows task access object operator info
|
|
Point_Get_6 1.00 root table:t1, partition:p2 handle:2
|
|
SELECT * FROM t1 WHERE a = 3 order by a;
|
|
a
|
|
3
|
|
EXPLAIN SELECT * FROM t1 WHERE a = 3;
|
|
id estRows task access object operator info
|
|
Point_Get_6 1.00 root table:t1, partition:p3 handle:3
|
|
SELECT * FROM t1 WHERE a = 4 order by a;
|
|
a
|
|
4
|
|
EXPLAIN SELECT * FROM t1 WHERE a = 4;
|
|
id estRows task access object operator info
|
|
Point_Get_6 1.00 root table:t1, partition:p4 handle:4
|
|
SELECT * FROM t1 WHERE a = 5 order by a;
|
|
a
|
|
5
|
|
EXPLAIN SELECT * FROM t1 WHERE a = 5;
|
|
id estRows task access object operator info
|
|
Point_Get_6 1.00 root table:t1, partition:p5 handle:5
|
|
SELECT * FROM t1 WHERE a = 6 order by a;
|
|
a
|
|
6
|
|
EXPLAIN SELECT * FROM t1 WHERE a = 6;
|
|
id estRows task access object operator info
|
|
Point_Get_6 1.00 root table:t1, partition:max handle:6
|
|
SELECT * FROM t1 WHERE a = 7 order by a;
|
|
a
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a = 7;
|
|
id estRows task access object operator info
|
|
Point_Get_6 1.00 root table:t1, partition:max handle:7
|
|
SELECT * FROM t1 WHERE a >= 1 order by a;
|
|
a
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a >= 1;
|
|
id estRows task access object operator info
|
|
PartitionUnion_12 20000.00 root
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p1 range:[1,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p2 range:[1,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
│ └─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:p3 range:[1,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_20 3333.33 root data:TableRangeScan_19
|
|
│ └─TableRangeScan_19 3333.33 cop[tikv] table:t1, partition:p4 range:[1,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_22 3333.33 root data:TableRangeScan_21
|
|
│ └─TableRangeScan_21 3333.33 cop[tikv] table:t1, partition:p5 range:[1,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_24 3333.33 root data:TableRangeScan_23
|
|
└─TableRangeScan_23 3333.33 cop[tikv] table:t1, partition:max range:[1,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a >= 2 order by a;
|
|
a
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a >= 2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16666.67 root
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p2 range:[2,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
│ └─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p3 range:[2,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_17 3333.33 root data:TableRangeScan_16
|
|
│ └─TableRangeScan_16 3333.33 cop[tikv] table:t1, partition:p4 range:[2,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:TableRangeScan_18
|
|
│ └─TableRangeScan_18 3333.33 cop[tikv] table:t1, partition:p5 range:[2,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_21 3333.33 root data:TableRangeScan_20
|
|
└─TableRangeScan_20 3333.33 cop[tikv] table:t1, partition:max range:[2,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a >= 3 order by a;
|
|
a
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a >= 3;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
│ └─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p3 range:[3,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p4 range:[3,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p5 range:[3,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
└─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:max range:[3,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a >= 4 order by a;
|
|
a
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a >= 4;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_11 3333.33 root data:TableRangeScan_10
|
|
│ └─TableRangeScan_10 3333.33 cop[tikv] table:t1, partition:p4 range:[4,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p5 range:[4,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
└─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:max range:[4,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a >= 5 order by a;
|
|
a
|
|
5
|
|
6
|
|
7
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a >= 5;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6666.67 root
|
|
├─TableReader_10 3333.33 root data:TableRangeScan_9
|
|
│ └─TableRangeScan_9 3333.33 cop[tikv] table:t1, partition:p5 range:[5,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
└─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:max range:[5,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a >= 6 order by a;
|
|
a
|
|
6
|
|
7
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a >= 6;
|
|
id estRows task access object operator info
|
|
TableReader_7 3333.33 root data:TableRangeScan_6
|
|
└─TableRangeScan_6 3333.33 cop[tikv] table:t1, partition:max range:[6,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a >= 7 order by a;
|
|
a
|
|
7
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a >= 7;
|
|
id estRows task access object operator info
|
|
TableReader_7 3333.33 root data:TableRangeScan_6
|
|
└─TableRangeScan_6 3333.33 cop[tikv] table:t1, partition:max range:[7,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a > 1 order by a;
|
|
a
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a > 1;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16666.67 root
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p2 range:(1,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
│ └─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p3 range:(1,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_17 3333.33 root data:TableRangeScan_16
|
|
│ └─TableRangeScan_16 3333.33 cop[tikv] table:t1, partition:p4 range:(1,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:TableRangeScan_18
|
|
│ └─TableRangeScan_18 3333.33 cop[tikv] table:t1, partition:p5 range:(1,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_21 3333.33 root data:TableRangeScan_20
|
|
└─TableRangeScan_20 3333.33 cop[tikv] table:t1, partition:max range:(1,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a > 2 order by a;
|
|
a
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a > 2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
│ └─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p3 range:(2,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p4 range:(2,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p5 range:(2,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
└─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:max range:(2,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a > 3 order by a;
|
|
a
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a > 3;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_11 3333.33 root data:TableRangeScan_10
|
|
│ └─TableRangeScan_10 3333.33 cop[tikv] table:t1, partition:p4 range:(3,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p5 range:(3,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
└─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:max range:(3,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a > 4 order by a;
|
|
a
|
|
5
|
|
6
|
|
7
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a > 4;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6666.67 root
|
|
├─TableReader_10 3333.33 root data:TableRangeScan_9
|
|
│ └─TableRangeScan_9 3333.33 cop[tikv] table:t1, partition:p5 range:(4,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
└─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:max range:(4,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a > 5 order by a;
|
|
a
|
|
6
|
|
7
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a > 5;
|
|
id estRows task access object operator info
|
|
TableReader_7 3333.33 root data:TableRangeScan_6
|
|
└─TableRangeScan_6 3333.33 cop[tikv] table:t1, partition:max range:(5,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a > 6 order by a;
|
|
a
|
|
7
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a > 6;
|
|
id estRows task access object operator info
|
|
TableReader_7 3333.33 root data:TableRangeScan_6
|
|
└─TableRangeScan_6 3333.33 cop[tikv] table:t1, partition:max range:(6,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a > 7 order by a;
|
|
a
|
|
8
|
|
EXPLAIN SELECT * FROM t1 WHERE a > 7;
|
|
id estRows task access object operator info
|
|
TableReader_7 3333.33 root data:TableRangeScan_6
|
|
└─TableRangeScan_6 3333.33 cop[tikv] table:t1, partition:max range:(7,+inf], keep order:false, stats:pseudo
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a INT PRIMARY KEY)
|
|
PARTITION BY RANGE (a) (
|
|
PARTITION p0 VALUES LESS THAN (1),
|
|
PARTITION p1 VALUES LESS THAN (2),
|
|
PARTITION p2 VALUES LESS THAN (3),
|
|
PARTITION p3 VALUES LESS THAN (4),
|
|
PARTITION p4 VALUES LESS THAN (5),
|
|
PARTITION max VALUES LESS THAN MAXVALUE);
|
|
INSERT INTO t1 VALUES (-1),(0),(1),(2),(3),(4),(5),(6),(7);
|
|
SELECT * FROM t1 WHERE a < 1 order by a;
|
|
a
|
|
-1
|
|
0
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 1;
|
|
id estRows task access object operator info
|
|
TableReader_7 3333.33 root data:TableRangeScan_6
|
|
└─TableRangeScan_6 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,1), keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a < 2 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 4.00 root
|
|
├─TableReader_10 3333.33 root data:TableRangeScan_9
|
|
│ └─TableRangeScan_9 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,2), keep order:false, stats:pseudo
|
|
└─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
└─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,2), keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a < 3 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 3;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9.00 root
|
|
├─TableReader_11 3333.33 root data:TableRangeScan_10
|
|
│ └─TableRangeScan_10 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,3), keep order:false, stats:pseudo
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,3), keep order:false, stats:pseudo
|
|
└─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
└─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,3), keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a < 4 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 4;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 16.00 root
|
|
├─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
│ └─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,4), keep order:false, stats:pseudo
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,4), keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,4), keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
└─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,4), keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a < 5 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
4
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 5;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 25.00 root
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,5), keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
│ └─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,5), keep order:false, stats:pseudo
|
|
├─TableReader_17 3333.33 root data:TableRangeScan_16
|
|
│ └─TableRangeScan_16 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,5), keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:TableRangeScan_18
|
|
│ └─TableRangeScan_18 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,5), keep order:false, stats:pseudo
|
|
└─TableReader_21 3333.33 root data:TableRangeScan_20
|
|
└─TableRangeScan_20 3333.33 cop[tikv] table:t1, partition:p4 range:[-inf,5), keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a < 6 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
EXPLAIN SELECT * FROM t1 WHERE a < 6;
|
|
id estRows task access object operator info
|
|
PartitionUnion_12 36.00 root
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,6), keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,6), keep order:false, stats:pseudo
|
|
├─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
│ └─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,6), keep order:false, stats:pseudo
|
|
├─TableReader_20 3333.33 root data:TableRangeScan_19
|
|
│ └─TableRangeScan_19 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,6), keep order:false, stats:pseudo
|
|
├─TableReader_22 3333.33 root data:TableRangeScan_21
|
|
│ └─TableRangeScan_21 3333.33 cop[tikv] table:t1, partition:p4 range:[-inf,6), keep order:false, stats:pseudo
|
|
└─TableReader_24 3333.33 root data:TableRangeScan_23
|
|
└─TableRangeScan_23 3333.33 cop[tikv] table:t1, partition:max range:[-inf,6), keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a <= 1 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 1;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 2.00 root
|
|
├─TableReader_10 3333.33 root data:TableRangeScan_9
|
|
│ └─TableRangeScan_9 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,1], keep order:false, stats:pseudo
|
|
└─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
└─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,1], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a <= 2 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 6.00 root
|
|
├─TableReader_11 3333.33 root data:TableRangeScan_10
|
|
│ └─TableRangeScan_10 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,2], keep order:false, stats:pseudo
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,2], keep order:false, stats:pseudo
|
|
└─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
└─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,2], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a <= 3 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 3;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 12.00 root
|
|
├─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
│ └─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,3], keep order:false, stats:pseudo
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,3], keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,3], keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
└─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,3], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a <= 4 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
4
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 4;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 20.00 root
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,4], keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
│ └─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,4], keep order:false, stats:pseudo
|
|
├─TableReader_17 3333.33 root data:TableRangeScan_16
|
|
│ └─TableRangeScan_16 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,4], keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:TableRangeScan_18
|
|
│ └─TableRangeScan_18 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,4], keep order:false, stats:pseudo
|
|
└─TableReader_21 3333.33 root data:TableRangeScan_20
|
|
└─TableRangeScan_20 3333.33 cop[tikv] table:t1, partition:p4 range:[-inf,4], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a <= 5 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 5;
|
|
id estRows task access object operator info
|
|
PartitionUnion_12 30.00 root
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,5], keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,5], keep order:false, stats:pseudo
|
|
├─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
│ └─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,5], keep order:false, stats:pseudo
|
|
├─TableReader_20 3333.33 root data:TableRangeScan_19
|
|
│ └─TableRangeScan_19 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,5], keep order:false, stats:pseudo
|
|
├─TableReader_22 3333.33 root data:TableRangeScan_21
|
|
│ └─TableRangeScan_21 3333.33 cop[tikv] table:t1, partition:p4 range:[-inf,5], keep order:false, stats:pseudo
|
|
└─TableReader_24 3333.33 root data:TableRangeScan_23
|
|
└─TableRangeScan_23 3333.33 cop[tikv] table:t1, partition:max range:[-inf,5], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a <= 6 order by a;
|
|
a
|
|
-1
|
|
0
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
EXPLAIN SELECT * FROM t1 WHERE a <= 6;
|
|
id estRows task access object operator info
|
|
PartitionUnion_12 36.00 root
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p0 range:[-inf,6], keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p1 range:[-inf,6], keep order:false, stats:pseudo
|
|
├─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
│ └─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:p2 range:[-inf,6], keep order:false, stats:pseudo
|
|
├─TableReader_20 3333.33 root data:TableRangeScan_19
|
|
│ └─TableRangeScan_19 3333.33 cop[tikv] table:t1, partition:p3 range:[-inf,6], keep order:false, stats:pseudo
|
|
├─TableReader_22 3333.33 root data:TableRangeScan_21
|
|
│ └─TableRangeScan_21 3333.33 cop[tikv] table:t1, partition:p4 range:[-inf,6], keep order:false, stats:pseudo
|
|
└─TableReader_24 3333.33 root data:TableRangeScan_23
|
|
└─TableRangeScan_23 3333.33 cop[tikv] table:t1, partition:max range:[-inf,6], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a = 1;
|
|
a
|
|
1
|
|
EXPLAIN SELECT * FROM t1 WHERE a = 1;
|
|
id estRows task access object operator info
|
|
Point_Get_6 1.00 root table:t1, partition:p1 handle:1
|
|
SELECT * FROM t1 WHERE a = 2;
|
|
a
|
|
2
|
|
EXPLAIN SELECT * FROM t1 WHERE a = 2;
|
|
id estRows task access object operator info
|
|
Point_Get_6 1.00 root table:t1, partition:p2 handle:2
|
|
SELECT * FROM t1 WHERE a = 3;
|
|
a
|
|
3
|
|
EXPLAIN SELECT * FROM t1 WHERE a = 3;
|
|
id estRows task access object operator info
|
|
Point_Get_6 1.00 root table:t1, partition:p3 handle:3
|
|
SELECT * FROM t1 WHERE a = 4;
|
|
a
|
|
4
|
|
EXPLAIN SELECT * FROM t1 WHERE a = 4;
|
|
id estRows task access object operator info
|
|
Point_Get_6 1.00 root table:t1, partition:p4 handle:4
|
|
SELECT * FROM t1 WHERE a = 5;
|
|
a
|
|
5
|
|
EXPLAIN SELECT * FROM t1 WHERE a = 5;
|
|
id estRows task access object operator info
|
|
Point_Get_6 1.00 root table:t1, partition:max handle:5
|
|
SELECT * FROM t1 WHERE a = 6;
|
|
a
|
|
6
|
|
EXPLAIN SELECT * FROM t1 WHERE a = 6;
|
|
id estRows task access object operator info
|
|
Point_Get_6 1.00 root table:t1, partition:max handle:6
|
|
SELECT * FROM t1 WHERE a >= 1 order by a;
|
|
a
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a >= 1;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16666.67 root
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p1 range:[1,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
│ └─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:p2 range:[1,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_17 3333.33 root data:TableRangeScan_16
|
|
│ └─TableRangeScan_16 3333.33 cop[tikv] table:t1, partition:p3 range:[1,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:TableRangeScan_18
|
|
│ └─TableRangeScan_18 3333.33 cop[tikv] table:t1, partition:p4 range:[1,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_21 3333.33 root data:TableRangeScan_20
|
|
└─TableRangeScan_20 3333.33 cop[tikv] table:t1, partition:max range:[1,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a >= 2 order by a;
|
|
a
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a >= 2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
│ └─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p2 range:[2,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p3 range:[2,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p4 range:[2,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
└─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:max range:[2,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a >= 3 order by a;
|
|
a
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a >= 3;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_11 3333.33 root data:TableRangeScan_10
|
|
│ └─TableRangeScan_10 3333.33 cop[tikv] table:t1, partition:p3 range:[3,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p4 range:[3,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
└─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:max range:[3,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a >= 4 order by a;
|
|
a
|
|
4
|
|
5
|
|
6
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a >= 4;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6666.67 root
|
|
├─TableReader_10 3333.33 root data:TableRangeScan_9
|
|
│ └─TableRangeScan_9 3333.33 cop[tikv] table:t1, partition:p4 range:[4,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
└─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:max range:[4,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a >= 5 order by a;
|
|
a
|
|
5
|
|
6
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a >= 5;
|
|
id estRows task access object operator info
|
|
TableReader_7 3333.33 root data:TableRangeScan_6
|
|
└─TableRangeScan_6 3333.33 cop[tikv] table:t1, partition:max range:[5,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a >= 6 order by a;
|
|
a
|
|
6
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a >= 6;
|
|
id estRows task access object operator info
|
|
TableReader_7 3333.33 root data:TableRangeScan_6
|
|
└─TableRangeScan_6 3333.33 cop[tikv] table:t1, partition:max range:[6,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a > 1 order by a;
|
|
a
|
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a > 1;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
│ └─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:p2 range:(1,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_14 3333.33 root data:TableRangeScan_13
|
|
│ └─TableRangeScan_13 3333.33 cop[tikv] table:t1, partition:p3 range:(1,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:TableRangeScan_15
|
|
│ └─TableRangeScan_15 3333.33 cop[tikv] table:t1, partition:p4 range:(1,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:TableRangeScan_17
|
|
└─TableRangeScan_17 3333.33 cop[tikv] table:t1, partition:max range:(1,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a > 2 order by a;
|
|
a
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a > 2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_11 3333.33 root data:TableRangeScan_10
|
|
│ └─TableRangeScan_10 3333.33 cop[tikv] table:t1, partition:p3 range:(2,+inf], keep order:false, stats:pseudo
|
|
├─TableReader_13 3333.33 root data:TableRangeScan_12
|
|
│ └─TableRangeScan_12 3333.33 cop[tikv] table:t1, partition:p4 range:(2,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_15 3333.33 root data:TableRangeScan_14
|
|
└─TableRangeScan_14 3333.33 cop[tikv] table:t1, partition:max range:(2,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a > 3 order by a;
|
|
a
|
|
4
|
|
5
|
|
6
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a > 3;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6666.67 root
|
|
├─TableReader_10 3333.33 root data:TableRangeScan_9
|
|
│ └─TableRangeScan_9 3333.33 cop[tikv] table:t1, partition:p4 range:(3,+inf], keep order:false, stats:pseudo
|
|
└─TableReader_12 3333.33 root data:TableRangeScan_11
|
|
└─TableRangeScan_11 3333.33 cop[tikv] table:t1, partition:max range:(3,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a > 4 order by a;
|
|
a
|
|
5
|
|
6
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a > 4;
|
|
id estRows task access object operator info
|
|
TableReader_7 3333.33 root data:TableRangeScan_6
|
|
└─TableRangeScan_6 3333.33 cop[tikv] table:t1, partition:max range:(4,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a > 5 order by a;
|
|
a
|
|
6
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a > 5;
|
|
id estRows task access object operator info
|
|
TableReader_7 3333.33 root data:TableRangeScan_6
|
|
└─TableRangeScan_6 3333.33 cop[tikv] table:t1, partition:max range:(5,+inf], keep order:false, stats:pseudo
|
|
SELECT * FROM t1 WHERE a > 6 order by a;
|
|
a
|
|
7
|
|
EXPLAIN SELECT * FROM t1 WHERE a > 6;
|
|
id estRows task access object operator info
|
|
TableReader_7 3333.33 root data:TableRangeScan_6
|
|
└─TableRangeScan_6 3333.33 cop[tikv] table:t1, partition:max range:(6,+inf], keep order:false, stats:pseudo
|
|
DROP TABLE t1;
|
|
# test of RANGE and index
|
|
CREATE TABLE t1 (a DATE, KEY(a))
|
|
PARTITION BY RANGE (TO_DAYS(a))
|
|
(PARTITION `pNULL` VALUES LESS THAN (0),
|
|
PARTITION `p0001-01-01` VALUES LESS THAN (366 + 1),
|
|
PARTITION `p1001-01-01` VALUES LESS THAN (TO_DAYS('1001-01-01') + 1),
|
|
PARTITION `p2001-01-01` VALUES LESS THAN (TO_DAYS('2001-01-01') + 1));
|
|
SET SQL_MODE = '';
|
|
INSERT INTO t1 VALUES ('0000-00-00'), ('0000-01-02'), ('0001-01-01'),
|
|
('1001-00-00'), ('1001-01-01'), ('1002-00-00'), ('2001-01-01');
|
|
# test without index
|
|
ALTER TABLE t1 DROP KEY a;
|
|
DROP TABLE t1;
|
|
# Test with DATETIME column NOT NULL
|
|
CREATE TABLE t1 (
|
|
a int(10) unsigned NOT NULL,
|
|
b DATETIME NOT NULL,
|
|
PRIMARY KEY (a, b)
|
|
) PARTITION BY RANGE (TO_DAYS(b))
|
|
(PARTITION p20090401 VALUES LESS THAN (TO_DAYS('2009-04-02')),
|
|
PARTITION p20090402 VALUES LESS THAN (TO_DAYS('2009-04-03')),
|
|
PARTITION p20090403 VALUES LESS THAN (TO_DAYS('2009-04-04')),
|
|
PARTITION p20090404 VALUES LESS THAN (TO_DAYS('2009-04-05')),
|
|
PARTITION p20090405 VALUES LESS THAN MAXVALUE);
|
|
INSERT INTO t1 VALUES (1, '2009-01-01'), (1, '2009-04-01'), (2, '2009-04-01'),
|
|
(1, '2009-04-02'), (2, '2009-04-02'), (1, '2009-04-02 23:59:59'),
|
|
(1, '2009-04-03'), (2, '2009-04-03'), (1, '2009-04-04'), (2, '2009-04-04'),
|
|
(1, '2009-04-05'), (1, '2009-04-06'), (1, '2009-04-07');
|
|
EXPLAIN SELECT * FROM t1 WHERE b < CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
IndexReader_11 10.00 root index:Selection_10
|
|
└─Selection_10 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:00)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b < CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─IndexReader_14 3323.33 root index:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_20 3323.33 root index:Selection_19
|
|
└─Selection_19 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59)
|
|
└─IndexFullScan_18 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b <= CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─IndexReader_14 3323.33 root index:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_20 3323.33 root index:Selection_19
|
|
└─Selection_19 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59)
|
|
└─IndexFullScan_18 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b = CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
IndexReader_11 10.00 root index:Selection_10
|
|
└─Selection_10 10.00 cop[tikv] eq(test.t1.b, 2009-04-02 23:59:59)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b >= CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─IndexReader_16 3333.33 root index:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_22 3333.33 root index:Selection_21
|
|
│ └─Selection_21 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_28 3333.33 root index:Selection_27
|
|
│ └─Selection_27 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_26 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_34 3333.33 root index:Selection_33
|
|
└─Selection_33 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
└─IndexFullScan_32 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b > CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─IndexReader_16 3333.33 root index:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_22 3333.33 root index:Selection_21
|
|
│ └─Selection_21 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_28 3333.33 root index:Selection_27
|
|
│ └─Selection_27 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_26 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_34 3333.33 root index:Selection_33
|
|
└─Selection_33 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
└─IndexFullScan_32 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] le(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] le(test.t1.b, 2009-04-03)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
IndexReader_11 10.00 root index:Selection_10
|
|
└─Selection_10 10.00 cop[tikv] eq(test.t1.b, 2009-04-03)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
IndexReader_11 10.00 root index:Selection_10
|
|
└─Selection_10 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─IndexReader_14 3323.33 root index:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_20 3323.33 root index:Selection_19
|
|
└─Selection_19 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─IndexFullScan_18 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─IndexReader_14 3323.33 root index:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_20 3323.33 root index:Selection_19
|
|
└─Selection_19 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─IndexFullScan_18 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
IndexReader_11 10.00 root index:Selection_10
|
|
└─Selection_10 10.00 cop[tikv] eq(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─IndexReader_16 3333.33 root index:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_22 3333.33 root index:Selection_21
|
|
│ └─Selection_21 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_28 3333.33 root index:Selection_27
|
|
│ └─Selection_27 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_26 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_34 3333.33 root index:Selection_33
|
|
└─Selection_33 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─IndexFullScan_32 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─IndexReader_16 3333.33 root index:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_22 3333.33 root index:Selection_21
|
|
│ └─Selection_21 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_28 3333.33 root index:Selection_27
|
|
│ └─Selection_27 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_26 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_34 3333.33 root index:Selection_33
|
|
└─Selection_33 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─IndexFullScan_32 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = '2009-04-03';
|
|
id estRows task access object operator info
|
|
IndexReader_11 10.00 root index:Selection_10
|
|
└─Selection_10 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b < CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:01)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b <= CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:01)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b = CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
IndexReader_11 10.00 root index:Selection_10
|
|
└─Selection_10 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:01)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b >= CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:01)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b > CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:01)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b < CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─IndexReader_14 3323.33 root index:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_20 3323.33 root index:Selection_19
|
|
└─Selection_19 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:58)
|
|
└─IndexFullScan_18 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b <= CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─IndexReader_14 3323.33 root index:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_20 3323.33 root index:Selection_19
|
|
└─Selection_19 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:58)
|
|
└─IndexFullScan_18 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b = CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
IndexReader_11 10.00 root index:Selection_10
|
|
└─Selection_10 10.00 cop[tikv] eq(test.t1.b, 2009-04-02 23:59:58)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b >= CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─IndexReader_16 3333.33 root index:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_22 3333.33 root index:Selection_21
|
|
│ └─Selection_21 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_28 3333.33 root index:Selection_27
|
|
│ └─Selection_27 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_26 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_34 3333.33 root index:Selection_33
|
|
└─Selection_33 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
└─IndexFullScan_32 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b > CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─IndexReader_16 3333.33 root index:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_22 3333.33 root index:Selection_21
|
|
│ └─Selection_21 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_28 3333.33 root index:Selection_27
|
|
│ └─Selection_27 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_26 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_34 3333.33 root index:Selection_33
|
|
└─Selection_33 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
└─IndexFullScan_32 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
DROP TABLE t1;
|
|
# Test with DATE column NOT NULL
|
|
CREATE TABLE t1 (
|
|
a int(10) unsigned NOT NULL,
|
|
b DATE NOT NULL,
|
|
PRIMARY KEY (a, b)
|
|
) PARTITION BY RANGE (TO_DAYS(b))
|
|
(PARTITION p20090401 VALUES LESS THAN (TO_DAYS('2009-04-02')),
|
|
PARTITION p20090402 VALUES LESS THAN (TO_DAYS('2009-04-03')),
|
|
PARTITION p20090403 VALUES LESS THAN (TO_DAYS('2009-04-04')),
|
|
PARTITION p20090404 VALUES LESS THAN (TO_DAYS('2009-04-05')),
|
|
PARTITION p20090405 VALUES LESS THAN MAXVALUE);
|
|
INSERT INTO t1 VALUES (1, '2009-01-01'), (1, '2009-04-01'), (2, '2009-04-01'),
|
|
(1, '2009-04-02'), (2, '2009-04-02'), (1, '2009-04-03'), (2, '2009-04-03'),
|
|
(1, '2009-04-04'), (2, '2009-04-04'), (1, '2009-04-05'), (1, '2009-04-06'),
|
|
(1, '2009-04-07');
|
|
EXPLAIN SELECT * FROM t1 WHERE b < CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
IndexReader_11 10.00 root index:Selection_10
|
|
└─Selection_10 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:00)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b < CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─IndexReader_14 3323.33 root index:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_20 3323.33 root index:Selection_19
|
|
└─Selection_19 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59)
|
|
└─IndexFullScan_18 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b <= CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─IndexReader_14 3323.33 root index:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_20 3323.33 root index:Selection_19
|
|
└─Selection_19 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59)
|
|
└─IndexFullScan_18 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b = CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
IndexReader_11 0.00 root index:Selection_10
|
|
└─Selection_10 0.00 cop[tikv] eq(test.t1.b, 2009-04-02 23:59:59)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b >= CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─IndexReader_16 3333.33 root index:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_22 3333.33 root index:Selection_21
|
|
│ └─Selection_21 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_28 3333.33 root index:Selection_27
|
|
│ └─Selection_27 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_26 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_34 3333.33 root index:Selection_33
|
|
└─Selection_33 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
└─IndexFullScan_32 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b > CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─IndexReader_16 3333.33 root index:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_22 3333.33 root index:Selection_21
|
|
│ └─Selection_21 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_28 3333.33 root index:Selection_27
|
|
│ └─Selection_27 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─IndexFullScan_26 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_34 3333.33 root index:Selection_33
|
|
└─Selection_33 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
└─IndexFullScan_32 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] le(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] le(test.t1.b, 2009-04-03)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
IndexReader_11 10.00 root index:Selection_10
|
|
└─Selection_10 10.00 cop[tikv] eq(test.t1.b, 2009-04-03)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
IndexReader_11 10.00 root index:Selection_10
|
|
└─Selection_10 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─IndexReader_14 3323.33 root index:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_20 3323.33 root index:Selection_19
|
|
└─Selection_19 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─IndexFullScan_18 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─IndexReader_14 3323.33 root index:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_20 3323.33 root index:Selection_19
|
|
└─Selection_19 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─IndexFullScan_18 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
IndexReader_11 0.00 root index:Selection_10
|
|
└─Selection_10 0.00 cop[tikv] eq(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─IndexReader_16 3333.33 root index:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_22 3333.33 root index:Selection_21
|
|
│ └─Selection_21 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_28 3333.33 root index:Selection_27
|
|
│ └─Selection_27 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_26 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_34 3333.33 root index:Selection_33
|
|
└─Selection_33 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─IndexFullScan_32 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─IndexReader_16 3333.33 root index:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_22 3333.33 root index:Selection_21
|
|
│ └─Selection_21 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_28 3333.33 root index:Selection_27
|
|
│ └─Selection_27 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─IndexFullScan_26 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_34 3333.33 root index:Selection_33
|
|
└─Selection_33 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─IndexFullScan_32 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = '2009-04-03';
|
|
id estRows task access object operator info
|
|
IndexReader_11 10.00 root index:Selection_10
|
|
└─Selection_10 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b < CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:01)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b <= CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─IndexReader_15 3323.33 root index:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3323.33 root index:Selection_20
|
|
│ └─Selection_20 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3323.33 root index:Selection_26
|
|
└─Selection_26 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:01)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b = CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
IndexReader_11 0.00 root index:Selection_10
|
|
└─Selection_10 0.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:01)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b >= CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:01)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b > CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─IndexReader_15 3333.33 root index:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_21 3333.33 root index:Selection_20
|
|
│ └─Selection_20 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─IndexFullScan_19 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_27 3333.33 root index:Selection_26
|
|
└─Selection_26 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:01)
|
|
└─IndexFullScan_25 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b < CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─IndexReader_14 3323.33 root index:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_20 3323.33 root index:Selection_19
|
|
└─Selection_19 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:58)
|
|
└─IndexFullScan_18 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b <= CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─IndexReader_14 3323.33 root index:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090401, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_20 3323.33 root index:Selection_19
|
|
└─Selection_19 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:58)
|
|
└─IndexFullScan_18 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b = CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
IndexReader_11 0.00 root index:Selection_10
|
|
└─Selection_10 0.00 cop[tikv] eq(test.t1.b, 2009-04-02 23:59:58)
|
|
└─IndexFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b >= CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─IndexReader_16 3333.33 root index:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_22 3333.33 root index:Selection_21
|
|
│ └─Selection_21 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_28 3333.33 root index:Selection_27
|
|
│ └─Selection_27 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_26 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_34 3333.33 root index:Selection_33
|
|
└─Selection_33 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
└─IndexFullScan_32 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b > CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─IndexReader_16 3333.33 root index:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090402, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_22 3333.33 root index:Selection_21
|
|
│ └─Selection_21 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090403, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
├─IndexReader_28 3333.33 root index:Selection_27
|
|
│ └─Selection_27 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─IndexFullScan_26 10000.00 cop[tikv] table:t1, partition:p20090404, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
└─IndexReader_34 3333.33 root index:Selection_33
|
|
└─Selection_33 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
└─IndexFullScan_32 10000.00 cop[tikv] table:t1, partition:p20090405, index:PRIMARY(a, b) keep order:false, stats:pseudo
|
|
DROP TABLE t1;
|
|
# Test with DATETIME column NULL
|
|
CREATE TABLE t1 (
|
|
a int(10) unsigned NOT NULL,
|
|
b DATETIME NULL
|
|
) PARTITION BY RANGE (TO_DAYS(b))
|
|
(PARTITION p20090401 VALUES LESS THAN (TO_DAYS('2009-04-02')),
|
|
PARTITION p20090402 VALUES LESS THAN (TO_DAYS('2009-04-03')),
|
|
PARTITION p20090403 VALUES LESS THAN (TO_DAYS('2009-04-04')),
|
|
PARTITION p20090404 VALUES LESS THAN (TO_DAYS('2009-04-05')),
|
|
PARTITION p20090405 VALUES LESS THAN MAXVALUE);
|
|
INSERT INTO t1 VALUES (1, '2009-01-01'), (1, '2009-04-01'), (2, '2009-04-01'),
|
|
(1, '2009-04-02'), (2, '2009-04-02'), (1, '2009-04-02 23:59:59'),
|
|
(1, '2009-04-03'), (2, '2009-04-03'), (1, '2009-04-04'), (2, '2009-04-04'),
|
|
(1, '2009-04-05'), (1, '2009-04-06'), (1, '2009-04-07');
|
|
EXPLAIN SELECT * FROM t1 WHERE b < CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:00)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b < CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b <= CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b = CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.b, 2009-04-02 23:59:59)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b >= CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b > CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] le(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] le(test.t1.b, 2009-04-03)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.b, 2009-04-03)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = '2009-04-03';
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b < CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:01)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b <= CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:01)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b = CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:01)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b >= CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:01)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b > CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:01)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b < CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:58)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b <= CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:58)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b = CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.b, 2009-04-02 23:59:58)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b >= CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b > CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
DROP TABLE t1;
|
|
# Test with DATE column NULL
|
|
CREATE TABLE t1 (
|
|
a int(10) unsigned NOT NULL,
|
|
b DATE NULL
|
|
) PARTITION BY RANGE (TO_DAYS(b))
|
|
(PARTITION p20090401 VALUES LESS THAN (TO_DAYS('2009-04-02')),
|
|
PARTITION p20090402 VALUES LESS THAN (TO_DAYS('2009-04-03')),
|
|
PARTITION p20090403 VALUES LESS THAN (TO_DAYS('2009-04-04')),
|
|
PARTITION p20090404 VALUES LESS THAN (TO_DAYS('2009-04-05')),
|
|
PARTITION p20090405 VALUES LESS THAN MAXVALUE);
|
|
INSERT INTO t1 VALUES (1, '2009-01-01'), (1, '2009-04-01'), (2, '2009-04-01'),
|
|
(1, '2009-04-02'), (2, '2009-04-02'), (1, '2009-04-03'), (2, '2009-04-03'),
|
|
(1, '2009-04-04'), (2, '2009-04-04'), (1, '2009-04-05'), (1, '2009-04-06'),
|
|
(1, '2009-04-07');
|
|
EXPLAIN SELECT * FROM t1 WHERE b < CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:00)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > CAST('2009-04-03' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b < CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b <= CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b = CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
TableReader_8 0.00 root data:Selection_7
|
|
└─Selection_7 0.00 cop[tikv] eq(test.t1.b, 2009-04-02 23:59:59)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b >= CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b > CAST('2009-04-02 23:59:59' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] le(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] le(test.t1.b, 2009-04-03)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.b, 2009-04-03)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > CAST('2009-04-03' AS DATE);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > '2009-04-03 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
TableReader_8 0.00 root data:Selection_7
|
|
└─Selection_7 0.00 cop[tikv] eq(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > '2009-04-02 23:59:59';
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:59.000000)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b < '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b <= '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b = '2009-04-03';
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b >= '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1 WHERE b > '2009-04-03';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b < CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t1.b, 2009-04-03 00:00:01)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b <= CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] le(test.t1.b, 2009-04-03 00:00:01)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b = CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
TableReader_8 0.00 root data:Selection_7
|
|
└─Selection_7 0.00 cop[tikv] eq(test.t1.b, 2009-04-03 00:00:01)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b >= CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] ge(test.t1.b, 2009-04-03 00:00:01)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b > CAST('2009-04-03 00:00:01' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:01)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] gt(test.t1.b, 2009-04-03 00:00:01)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b < CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] lt(test.t1.b, 2009-04-02 23:59:58)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b <= CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] le(test.t1.b, 2009-04-02 23:59:58)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b = CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
TableReader_8 0.00 root data:Selection_7
|
|
└─Selection_7 0.00 cop[tikv] eq(test.t1.b, 2009-04-02 23:59:58)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b >= CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] ge(test.t1.b, 2009-04-02 23:59:58)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
EXPLAIN SELECT * FROM t1
|
|
WHERE b > CAST('2009-04-02 23:59:58' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] gt(test.t1.b, 2009-04-02 23:59:58)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
DROP TABLE t1;
|
|
# For better code coverage of the patch
|
|
CREATE TABLE t1 (
|
|
a int(10) unsigned NOT NULL,
|
|
b DATE
|
|
) PARTITION BY RANGE ( TO_DAYS(b) )
|
|
(PARTITION p20090401 VALUES LESS THAN (TO_DAYS('2009-04-02')),
|
|
PARTITION p20090402 VALUES LESS THAN (TO_DAYS('2009-04-03')),
|
|
PARTITION p20090403 VALUES LESS THAN (TO_DAYS('2009-04-04')),
|
|
PARTITION p20090404 VALUES LESS THAN (TO_DAYS('2009-04-05')),
|
|
PARTITION p20090405 VALUES LESS THAN MAXVALUE);
|
|
INSERT INTO t1 VALUES (1, '2009-01-01'), (2, NULL);
|
|
# test with an invalid date, which lead to item->null_value is set.
|
|
EXPLAIN SELECT * FROM t1 WHERE b < CAST('2009-04-99' AS DATETIME);
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 0.00 root
|
|
├─TableReader_14 0.00 root data:Selection_13
|
|
│ └─Selection_13 0.00 cop[tikv] lt(test.t1.b, NULL)
|
|
│ └─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p20090401 keep order:false, stats:pseudo
|
|
├─TableReader_17 0.00 root data:Selection_16
|
|
│ └─Selection_16 0.00 cop[tikv] lt(test.t1.b, NULL)
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t1, partition:p20090402 keep order:false, stats:pseudo
|
|
├─TableReader_20 0.00 root data:Selection_19
|
|
│ └─Selection_19 0.00 cop[tikv] lt(test.t1.b, NULL)
|
|
│ └─TableFullScan_18 10000.00 cop[tikv] table:t1, partition:p20090403 keep order:false, stats:pseudo
|
|
├─TableReader_23 0.00 root data:Selection_22
|
|
│ └─Selection_22 0.00 cop[tikv] lt(test.t1.b, NULL)
|
|
│ └─TableFullScan_21 10000.00 cop[tikv] table:t1, partition:p20090404 keep order:false, stats:pseudo
|
|
└─TableReader_26 0.00 root data:Selection_25
|
|
└─Selection_25 0.00 cop[tikv] lt(test.t1.b, NULL)
|
|
└─TableFullScan_24 10000.00 cop[tikv] table:t1, partition:p20090405 keep order:false, stats:pseudo
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1
|
|
(a INT NOT NULL AUTO_INCREMENT,
|
|
b DATETIME,
|
|
PRIMARY KEY (a,b),
|
|
KEY (b))
|
|
PARTITION BY RANGE (to_days(b))
|
|
(PARTITION p0 VALUES LESS THAN (733681) COMMENT = 'LESS THAN 2008-10-01',
|
|
PARTITION p1 VALUES LESS THAN (733712) COMMENT = 'LESS THAN 2008-11-01',
|
|
PARTITION pX VALUES LESS THAN MAXVALUE);
|
|
SELECT a,b FROM t1 WHERE b >= '2008-12-01' AND b < '2009-12-00';
|
|
a b
|
|
DROP TABLE t1;
|
|
create table t3 (
|
|
a int
|
|
)
|
|
partition by range (a*1) (
|
|
partition p0 values less than (10),
|
|
partition p1 values less than (20)
|
|
);
|
|
insert into t3 values (5),(15);
|
|
explain select * from t3 where a=11;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 20.00 root
|
|
├─TableReader_11 10.00 root data:Selection_10
|
|
│ └─Selection_10 10.00 cop[tikv] eq(test.t3.a, 11)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t3, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 10.00 root data:Selection_13
|
|
└─Selection_13 10.00 cop[tikv] eq(test.t3.a, 11)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t3, partition:p1 keep order:false, stats:pseudo
|
|
explain select * from t3 where a=10;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 20.00 root
|
|
├─TableReader_11 10.00 root data:Selection_10
|
|
│ └─Selection_10 10.00 cop[tikv] eq(test.t3.a, 10)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t3, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 10.00 root data:Selection_13
|
|
└─Selection_13 10.00 cop[tikv] eq(test.t3.a, 10)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t3, partition:p1 keep order:false, stats:pseudo
|
|
explain select * from t3 where a=20;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 20.00 root
|
|
├─TableReader_11 10.00 root data:Selection_10
|
|
│ └─Selection_10 10.00 cop[tikv] eq(test.t3.a, 20)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t3, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 10.00 root data:Selection_13
|
|
└─Selection_13 10.00 cop[tikv] eq(test.t3.a, 20)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t3, partition:p1 keep order:false, stats:pseudo
|
|
explain select * from t3 where a=30;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 20.00 root
|
|
├─TableReader_11 10.00 root data:Selection_10
|
|
│ └─Selection_10 10.00 cop[tikv] eq(test.t3.a, 30)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t3, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 10.00 root data:Selection_13
|
|
└─Selection_13 10.00 cop[tikv] eq(test.t3.a, 30)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t3, partition:p1 keep order:false, stats:pseudo
|
|
create table t7 (a int not null) partition by RANGE(a) (
|
|
partition p10 values less than (10),
|
|
partition p30 values less than (30),
|
|
partition p50 values less than (50),
|
|
partition p70 values less than (70),
|
|
partition p90 values less than (90)
|
|
);
|
|
insert into t7 values (10),(30),(50);
|
|
explain select * from t7 where a < 5;
|
|
id estRows task access object operator info
|
|
TableReader_8 3323.33 root data:Selection_7
|
|
└─Selection_7 3323.33 cop[tikv] lt(test.t7.a, 5)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
explain select * from t7 where a < 9;
|
|
id estRows task access object operator info
|
|
TableReader_8 3323.33 root data:Selection_7
|
|
└─Selection_7 3323.33 cop[tikv] lt(test.t7.a, 9)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
explain select * from t7 where a <= 9;
|
|
id estRows task access object operator info
|
|
TableReader_8 3323.33 root data:Selection_7
|
|
└─Selection_7 3323.33 cop[tikv] le(test.t7.a, 9)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
explain select * from t7 where a = 9;
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t7.a, 9)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
explain select * from t7 where a >= 9;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16666.67 root
|
|
├─TableReader_14 3333.33 root data:Selection_13
|
|
│ └─Selection_13 3333.33 cop[tikv] ge(test.t7.a, 9)
|
|
│ └─TableFullScan_12 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
├─TableReader_17 3333.33 root data:Selection_16
|
|
│ └─Selection_16 3333.33 cop[tikv] ge(test.t7.a, 9)
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_20 3333.33 root data:Selection_19
|
|
│ └─Selection_19 3333.33 cop[tikv] ge(test.t7.a, 9)
|
|
│ └─TableFullScan_18 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_23 3333.33 root data:Selection_22
|
|
│ └─Selection_22 3333.33 cop[tikv] ge(test.t7.a, 9)
|
|
│ └─TableFullScan_21 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_26 3333.33 root data:Selection_25
|
|
└─Selection_25 3333.33 cop[tikv] ge(test.t7.a, 9)
|
|
└─TableFullScan_24 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a > 9;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] gt(test.t7.a, 9)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t7.a, 9)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] gt(test.t7.a, 9)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] gt(test.t7.a, 9)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a < 10;
|
|
id estRows task access object operator info
|
|
TableReader_8 3323.33 root data:Selection_7
|
|
└─Selection_7 3323.33 cop[tikv] lt(test.t7.a, 10)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
explain select * from t7 where a <= 10;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] le(test.t7.a, 10)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] le(test.t7.a, 10)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
explain select * from t7 where a = 10;
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t7.a, 10)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
explain select * from t7 where a >= 10;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] ge(test.t7.a, 10)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t7.a, 10)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] ge(test.t7.a, 10)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] ge(test.t7.a, 10)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a > 10;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] gt(test.t7.a, 10)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t7.a, 10)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] gt(test.t7.a, 10)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] gt(test.t7.a, 10)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a < 89;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16616.67 root
|
|
├─TableReader_14 3323.33 root data:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] lt(test.t7.a, 89)
|
|
│ └─TableFullScan_12 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
├─TableReader_17 3323.33 root data:Selection_16
|
|
│ └─Selection_16 3323.33 cop[tikv] lt(test.t7.a, 89)
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_20 3323.33 root data:Selection_19
|
|
│ └─Selection_19 3323.33 cop[tikv] lt(test.t7.a, 89)
|
|
│ └─TableFullScan_18 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_23 3323.33 root data:Selection_22
|
|
│ └─Selection_22 3323.33 cop[tikv] lt(test.t7.a, 89)
|
|
│ └─TableFullScan_21 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_26 3323.33 root data:Selection_25
|
|
└─Selection_25 3323.33 cop[tikv] lt(test.t7.a, 89)
|
|
└─TableFullScan_24 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a <= 89;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16616.67 root
|
|
├─TableReader_14 3323.33 root data:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] le(test.t7.a, 89)
|
|
│ └─TableFullScan_12 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
├─TableReader_17 3323.33 root data:Selection_16
|
|
│ └─Selection_16 3323.33 cop[tikv] le(test.t7.a, 89)
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_20 3323.33 root data:Selection_19
|
|
│ └─Selection_19 3323.33 cop[tikv] le(test.t7.a, 89)
|
|
│ └─TableFullScan_18 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_23 3323.33 root data:Selection_22
|
|
│ └─Selection_22 3323.33 cop[tikv] le(test.t7.a, 89)
|
|
│ └─TableFullScan_21 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_26 3323.33 root data:Selection_25
|
|
└─Selection_25 3323.33 cop[tikv] le(test.t7.a, 89)
|
|
└─TableFullScan_24 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a = 89;
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t7.a, 89)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a > 89;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
explain select * from t7 where a >= 89;
|
|
id estRows task access object operator info
|
|
TableReader_8 3333.33 root data:Selection_7
|
|
└─Selection_7 3333.33 cop[tikv] ge(test.t7.a, 89)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a < 90;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16616.67 root
|
|
├─TableReader_14 3323.33 root data:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] lt(test.t7.a, 90)
|
|
│ └─TableFullScan_12 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
├─TableReader_17 3323.33 root data:Selection_16
|
|
│ └─Selection_16 3323.33 cop[tikv] lt(test.t7.a, 90)
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_20 3323.33 root data:Selection_19
|
|
│ └─Selection_19 3323.33 cop[tikv] lt(test.t7.a, 90)
|
|
│ └─TableFullScan_18 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_23 3323.33 root data:Selection_22
|
|
│ └─Selection_22 3323.33 cop[tikv] lt(test.t7.a, 90)
|
|
│ └─TableFullScan_21 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_26 3323.33 root data:Selection_25
|
|
└─Selection_25 3323.33 cop[tikv] lt(test.t7.a, 90)
|
|
└─TableFullScan_24 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a <= 90;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16616.67 root
|
|
├─TableReader_14 3323.33 root data:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] le(test.t7.a, 90)
|
|
│ └─TableFullScan_12 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
├─TableReader_17 3323.33 root data:Selection_16
|
|
│ └─Selection_16 3323.33 cop[tikv] le(test.t7.a, 90)
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_20 3323.33 root data:Selection_19
|
|
│ └─Selection_19 3323.33 cop[tikv] le(test.t7.a, 90)
|
|
│ └─TableFullScan_18 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_23 3323.33 root data:Selection_22
|
|
│ └─Selection_22 3323.33 cop[tikv] le(test.t7.a, 90)
|
|
│ └─TableFullScan_21 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_26 3323.33 root data:Selection_25
|
|
└─Selection_25 3323.33 cop[tikv] le(test.t7.a, 90)
|
|
└─TableFullScan_24 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a = 90;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
explain select * from t7 where a > 90;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
explain select * from t7 where a >= 90;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
explain select * from t7 where a > 91;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
explain select * from t7 where a > 11 and a < 29;
|
|
id estRows task access object operator info
|
|
TableReader_8 250.00 root data:Selection_7
|
|
└─Selection_7 250.00 cop[tikv] gt(test.t7.a, 11), lt(test.t7.a, 29)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
drop table t7;
|
|
create table t7 (a int unsigned not null) partition by RANGE(a) (
|
|
partition p10 values less than (10),
|
|
partition p30 values less than (30),
|
|
partition p50 values less than (50),
|
|
partition p70 values less than (70),
|
|
partition p90 values less than (90)
|
|
);
|
|
insert into t7 values (10),(30),(50);
|
|
explain select * from t7 where a < 5;
|
|
id estRows task access object operator info
|
|
TableReader_8 3323.33 root data:Selection_7
|
|
└─Selection_7 3323.33 cop[tikv] lt(test.t7.a, 5)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
explain select * from t7 where a < 9;
|
|
id estRows task access object operator info
|
|
TableReader_8 3323.33 root data:Selection_7
|
|
└─Selection_7 3323.33 cop[tikv] lt(test.t7.a, 9)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
explain select * from t7 where a <= 9;
|
|
id estRows task access object operator info
|
|
TableReader_8 3323.33 root data:Selection_7
|
|
└─Selection_7 3323.33 cop[tikv] le(test.t7.a, 9)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
explain select * from t7 where a = 9;
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t7.a, 9)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
explain select * from t7 where a >= 9;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16666.67 root
|
|
├─TableReader_14 3333.33 root data:Selection_13
|
|
│ └─Selection_13 3333.33 cop[tikv] ge(test.t7.a, 9)
|
|
│ └─TableFullScan_12 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
├─TableReader_17 3333.33 root data:Selection_16
|
|
│ └─Selection_16 3333.33 cop[tikv] ge(test.t7.a, 9)
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_20 3333.33 root data:Selection_19
|
|
│ └─Selection_19 3333.33 cop[tikv] ge(test.t7.a, 9)
|
|
│ └─TableFullScan_18 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_23 3333.33 root data:Selection_22
|
|
│ └─Selection_22 3333.33 cop[tikv] ge(test.t7.a, 9)
|
|
│ └─TableFullScan_21 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_26 3333.33 root data:Selection_25
|
|
└─Selection_25 3333.33 cop[tikv] ge(test.t7.a, 9)
|
|
└─TableFullScan_24 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a > 9;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] gt(test.t7.a, 9)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t7.a, 9)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] gt(test.t7.a, 9)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] gt(test.t7.a, 9)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a < 10;
|
|
id estRows task access object operator info
|
|
TableReader_8 3323.33 root data:Selection_7
|
|
└─Selection_7 3323.33 cop[tikv] lt(test.t7.a, 10)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
explain select * from t7 where a <= 10;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] le(test.t7.a, 10)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] le(test.t7.a, 10)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
explain select * from t7 where a = 10;
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t7.a, 10)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
explain select * from t7 where a >= 10;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] ge(test.t7.a, 10)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] ge(test.t7.a, 10)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] ge(test.t7.a, 10)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] ge(test.t7.a, 10)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a > 10;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13333.33 root
|
|
├─TableReader_13 3333.33 root data:Selection_12
|
|
│ └─Selection_12 3333.33 cop[tikv] gt(test.t7.a, 10)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_16 3333.33 root data:Selection_15
|
|
│ └─Selection_15 3333.33 cop[tikv] gt(test.t7.a, 10)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_19 3333.33 root data:Selection_18
|
|
│ └─Selection_18 3333.33 cop[tikv] gt(test.t7.a, 10)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_22 3333.33 root data:Selection_21
|
|
└─Selection_21 3333.33 cop[tikv] gt(test.t7.a, 10)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a < 89;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16616.67 root
|
|
├─TableReader_14 3323.33 root data:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] lt(test.t7.a, 89)
|
|
│ └─TableFullScan_12 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
├─TableReader_17 3323.33 root data:Selection_16
|
|
│ └─Selection_16 3323.33 cop[tikv] lt(test.t7.a, 89)
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_20 3323.33 root data:Selection_19
|
|
│ └─Selection_19 3323.33 cop[tikv] lt(test.t7.a, 89)
|
|
│ └─TableFullScan_18 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_23 3323.33 root data:Selection_22
|
|
│ └─Selection_22 3323.33 cop[tikv] lt(test.t7.a, 89)
|
|
│ └─TableFullScan_21 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_26 3323.33 root data:Selection_25
|
|
└─Selection_25 3323.33 cop[tikv] lt(test.t7.a, 89)
|
|
└─TableFullScan_24 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a <= 89;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16616.67 root
|
|
├─TableReader_14 3323.33 root data:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] le(test.t7.a, 89)
|
|
│ └─TableFullScan_12 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
├─TableReader_17 3323.33 root data:Selection_16
|
|
│ └─Selection_16 3323.33 cop[tikv] le(test.t7.a, 89)
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_20 3323.33 root data:Selection_19
|
|
│ └─Selection_19 3323.33 cop[tikv] le(test.t7.a, 89)
|
|
│ └─TableFullScan_18 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_23 3323.33 root data:Selection_22
|
|
│ └─Selection_22 3323.33 cop[tikv] le(test.t7.a, 89)
|
|
│ └─TableFullScan_21 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_26 3323.33 root data:Selection_25
|
|
└─Selection_25 3323.33 cop[tikv] le(test.t7.a, 89)
|
|
└─TableFullScan_24 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a = 89;
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t7.a, 89)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a > 89;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
explain select * from t7 where a >= 89;
|
|
id estRows task access object operator info
|
|
TableReader_8 3333.33 root data:Selection_7
|
|
└─Selection_7 3333.33 cop[tikv] ge(test.t7.a, 89)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a < 90;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16616.67 root
|
|
├─TableReader_14 3323.33 root data:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] lt(test.t7.a, 90)
|
|
│ └─TableFullScan_12 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
├─TableReader_17 3323.33 root data:Selection_16
|
|
│ └─Selection_16 3323.33 cop[tikv] lt(test.t7.a, 90)
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_20 3323.33 root data:Selection_19
|
|
│ └─Selection_19 3323.33 cop[tikv] lt(test.t7.a, 90)
|
|
│ └─TableFullScan_18 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_23 3323.33 root data:Selection_22
|
|
│ └─Selection_22 3323.33 cop[tikv] lt(test.t7.a, 90)
|
|
│ └─TableFullScan_21 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_26 3323.33 root data:Selection_25
|
|
└─Selection_25 3323.33 cop[tikv] lt(test.t7.a, 90)
|
|
└─TableFullScan_24 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a <= 90;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16616.67 root
|
|
├─TableReader_14 3323.33 root data:Selection_13
|
|
│ └─Selection_13 3323.33 cop[tikv] le(test.t7.a, 90)
|
|
│ └─TableFullScan_12 10000.00 cop[tikv] table:t7, partition:p10 keep order:false, stats:pseudo
|
|
├─TableReader_17 3323.33 root data:Selection_16
|
|
│ └─Selection_16 3323.33 cop[tikv] le(test.t7.a, 90)
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
├─TableReader_20 3323.33 root data:Selection_19
|
|
│ └─Selection_19 3323.33 cop[tikv] le(test.t7.a, 90)
|
|
│ └─TableFullScan_18 10000.00 cop[tikv] table:t7, partition:p50 keep order:false, stats:pseudo
|
|
├─TableReader_23 3323.33 root data:Selection_22
|
|
│ └─Selection_22 3323.33 cop[tikv] le(test.t7.a, 90)
|
|
│ └─TableFullScan_21 10000.00 cop[tikv] table:t7, partition:p70 keep order:false, stats:pseudo
|
|
└─TableReader_26 3323.33 root data:Selection_25
|
|
└─Selection_25 3323.33 cop[tikv] le(test.t7.a, 90)
|
|
└─TableFullScan_24 10000.00 cop[tikv] table:t7, partition:p90 keep order:false, stats:pseudo
|
|
explain select * from t7 where a = 90;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
explain select * from t7 where a > 90;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
explain select * from t7 where a >= 90;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
explain select * from t7 where a > 91;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
explain select * from t7 where a > 11 and a < 29;
|
|
id estRows task access object operator info
|
|
TableReader_8 250.00 root data:Selection_7
|
|
└─Selection_7 250.00 cop[tikv] gt(test.t7.a, 11), lt(test.t7.a, 29)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t7, partition:p30 keep order:false, stats:pseudo
|
|
create table t8 (a date not null) partition by RANGE(YEAR(a)) (
|
|
partition p0 values less than (1980),
|
|
partition p1 values less than (1990),
|
|
partition p2 values less than (2000)
|
|
);
|
|
insert into t8 values ('1985-05-05'),('1995-05-05');
|
|
explain select * from t8 where a < '1980-02-02';
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t8.a, 1980-02-02 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t8, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t8.a, 1980-02-02 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t8, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t8.a, 1980-02-02 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t8, partition:p2 keep order:false, stats:pseudo
|
|
create table t9 (a date not null) partition by RANGE(TO_DAYS(a)) (
|
|
partition p0 values less than (732299), -- 2004-12-19
|
|
partition p1 values less than (732468), -- 2005-06-06
|
|
partition p2 values less than (732664) -- 2005-12-19
|
|
);
|
|
insert into t9 values ('2005-05-05'), ('2005-04-04');
|
|
explain select * from t9 where a < '2004-12-19';
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] lt(test.t9.a, 2004-12-19 00:00:00.000000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t9, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] lt(test.t9.a, 2004-12-19 00:00:00.000000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t9, partition:p1 keep order:false, stats:pseudo
|
|
explain select * from t9 where a <= '2004-12-19';
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] le(test.t9.a, 2004-12-19 00:00:00.000000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t9, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] le(test.t9.a, 2004-12-19 00:00:00.000000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t9, partition:p1 keep order:false, stats:pseudo
|
|
drop table t7,t8,t9;
|
|
create table t1 (
|
|
a1 int not null
|
|
)
|
|
partition by range (a1) (
|
|
partition p0 values less than (3),
|
|
partition p1 values less than (6),
|
|
partition p2 values less than (9)
|
|
);
|
|
insert into t1 values (1),(2),(3);
|
|
explain select * from t1 where a1 > 3;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6666.67 root
|
|
├─TableReader_11 3333.33 root data:Selection_10
|
|
│ └─Selection_10 3333.33 cop[tikv] gt(test.t1.a1, 3)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_14 3333.33 root data:Selection_13
|
|
└─Selection_13 3333.33 cop[tikv] gt(test.t1.a1, 3)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t1 where a1 >= 3;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6666.67 root
|
|
├─TableReader_11 3333.33 root data:Selection_10
|
|
│ └─Selection_10 3333.33 cop[tikv] ge(test.t1.a1, 3)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_14 3333.33 root data:Selection_13
|
|
└─Selection_13 3333.33 cop[tikv] ge(test.t1.a1, 3)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t1 where a1 < 3 and a1 > 3;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
drop table t1;
|
|
CREATE TABLE `t1` (
|
|
`a` int(11) default NULL
|
|
);
|
|
INSERT INTO t1 VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
|
CREATE TABLE `t2` (
|
|
`a` int(11) default NULL,
|
|
KEY `a` (`a`)
|
|
) ;
|
|
insert into t2 select A.a + 10*(B.a + 10* C.a) from t1 A, t1 B, t1 C ;
|
|
insert into t1 select a from t2;
|
|
drop table t2;
|
|
CREATE TABLE `t2` (
|
|
`a` int(11) default NULL,
|
|
`b` int(11) default NULL
|
|
)
|
|
PARTITION BY RANGE (a) (
|
|
PARTITION p0 VALUES LESS THAN (200),
|
|
PARTITION p1 VALUES LESS THAN (400),
|
|
PARTITION p2 VALUES LESS THAN (600),
|
|
PARTITION p3 VALUES LESS THAN (800),
|
|
PARTITION p4 VALUES LESS THAN (1001));
|
|
insert into t2 select a,1 from t1 where a < 200;
|
|
insert into t2 select a,2 from t1 where a >= 200 and a < 400;
|
|
insert into t2 select a,3 from t1 where a >= 400 and a < 600;
|
|
insert into t2 select a,4 from t1 where a >= 600 and a < 800;
|
|
insert into t2 select a,5 from t1 where a >= 800 and a < 1001;
|
|
explain select * from t2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 50000.00 root
|
|
├─TableReader_12 10000.00 root data:TableFullScan_11
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_14 10000.00 root data:TableFullScan_13
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
├─TableReader_16 10000.00 root data:TableFullScan_15
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
├─TableReader_18 10000.00 root data:TableFullScan_17
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─TableReader_20 10000.00 root data:TableFullScan_19
|
|
└─TableFullScan_19 10000.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where a < 801 and a > 200;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 1000.00 root
|
|
├─TableReader_13 250.00 root data:Selection_12
|
|
│ └─Selection_12 250.00 cop[tikv] gt(test.t2.a, 200), lt(test.t2.a, 801)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
├─TableReader_16 250.00 root data:Selection_15
|
|
│ └─Selection_15 250.00 cop[tikv] gt(test.t2.a, 200), lt(test.t2.a, 801)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
├─TableReader_19 250.00 root data:Selection_18
|
|
│ └─Selection_18 250.00 cop[tikv] gt(test.t2.a, 200), lt(test.t2.a, 801)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─TableReader_22 250.00 root data:Selection_21
|
|
└─Selection_21 250.00 cop[tikv] gt(test.t2.a, 200), lt(test.t2.a, 801)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where a < 801 and a > 800;
|
|
id estRows task access object operator info
|
|
TableReader_8 0.00 root data:Selection_7
|
|
└─Selection_7 0.00 cop[tikv] gt(test.t2.a, 800), lt(test.t2.a, 801)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where a > 600;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6666.67 root
|
|
├─TableReader_11 3333.33 root data:Selection_10
|
|
│ └─Selection_10 3333.33 cop[tikv] gt(test.t2.a, 600)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─TableReader_14 3333.33 root data:Selection_13
|
|
└─Selection_13 3333.33 cop[tikv] gt(test.t2.a, 600)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where a > 600 and b = 1;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6.67 root
|
|
├─TableReader_11 3.33 root data:Selection_10
|
|
│ └─Selection_10 3.33 cop[tikv] eq(test.t2.b, 1), gt(test.t2.a, 600)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─TableReader_14 3.33 root data:Selection_13
|
|
└─Selection_13 3.33 cop[tikv] eq(test.t2.b, 1), gt(test.t2.a, 600)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where a > 600 and b = 4;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6.67 root
|
|
├─TableReader_11 3.33 root data:Selection_10
|
|
│ └─Selection_10 3.33 cop[tikv] eq(test.t2.b, 4), gt(test.t2.a, 600)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─TableReader_14 3.33 root data:Selection_13
|
|
└─Selection_13 3.33 cop[tikv] eq(test.t2.b, 4), gt(test.t2.a, 600)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where a > 600 and b = 5;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6.67 root
|
|
├─TableReader_11 3.33 root data:Selection_10
|
|
│ └─Selection_10 3.33 cop[tikv] eq(test.t2.b, 5), gt(test.t2.a, 600)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─TableReader_14 3.33 root data:Selection_13
|
|
└─Selection_13 3.33 cop[tikv] eq(test.t2.b, 5), gt(test.t2.a, 600)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where b = 5;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 50.00 root
|
|
├─TableReader_14 10.00 root data:Selection_13
|
|
│ └─Selection_13 10.00 cop[tikv] eq(test.t2.b, 5)
|
|
│ └─TableFullScan_12 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_17 10.00 root data:Selection_16
|
|
│ └─Selection_16 10.00 cop[tikv] eq(test.t2.b, 5)
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
├─TableReader_20 10.00 root data:Selection_19
|
|
│ └─Selection_19 10.00 cop[tikv] eq(test.t2.b, 5)
|
|
│ └─TableFullScan_18 10000.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
├─TableReader_23 10.00 root data:Selection_22
|
|
│ └─Selection_22 10.00 cop[tikv] eq(test.t2.b, 5)
|
|
│ └─TableFullScan_21 10000.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─TableReader_26 10.00 root data:Selection_25
|
|
└─Selection_25 10.00 cop[tikv] eq(test.t2.b, 5)
|
|
└─TableFullScan_24 10000.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
flush status;
|
|
update t2 set b = 100 where b = 6;
|
|
show status like 'Handler_read_rnd_next';
|
|
Variable_name Value
|
|
flush status;
|
|
update t2 set a = 1002 where a = 1001;
|
|
show status like 'Handler_read_rnd_next';
|
|
Variable_name Value
|
|
flush status;
|
|
update t2 set b = 6 where a = 600;
|
|
show status like 'Handler_read_rnd_next';
|
|
Variable_name Value
|
|
flush status;
|
|
update t2 set b = 6 where a > 600 and a < 800;
|
|
show status like 'Handler_read_rnd_next';
|
|
Variable_name Value
|
|
flush status;
|
|
delete from t2 where a > 600;
|
|
show status like 'Handler_read_rnd_next';
|
|
Variable_name Value
|
|
drop table t2;
|
|
CREATE TABLE `t2` (
|
|
`a` int(11) default NULL,
|
|
`b` int(11) default NULL,
|
|
index (b)
|
|
)
|
|
PARTITION BY RANGE (a) (
|
|
PARTITION p0 VALUES LESS THAN (200),
|
|
PARTITION p1 VALUES LESS THAN (400),
|
|
PARTITION p2 VALUES LESS THAN (600),
|
|
PARTITION p3 VALUES LESS THAN (800),
|
|
PARTITION p4 VALUES LESS THAN (1001));
|
|
insert into t2 select a,1 from t1 where a < 100;
|
|
insert into t2 select a,2 from t1 where a >= 200 and a < 300;
|
|
insert into t2 select a,3 from t1 where a >= 300 and a < 400;
|
|
insert into t2 select a,4 from t1 where a >= 400 and a < 500;
|
|
insert into t2 select a,5 from t1 where a >= 500 and a < 600;
|
|
insert into t2 select a,6 from t1 where a >= 600 and a < 700;
|
|
insert into t2 select a,7 from t1 where a >= 700 and a < 800;
|
|
insert into t2 select a,8 from t1 where a >= 800 and a < 900;
|
|
insert into t2 select a,9 from t1 where a >= 900 and a < 1001;
|
|
explain select * from t2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 50000.00 root
|
|
├─TableReader_12 10000.00 root data:TableFullScan_11
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_14 10000.00 root data:TableFullScan_13
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
├─TableReader_16 10000.00 root data:TableFullScan_15
|
|
│ └─TableFullScan_15 10000.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
├─TableReader_18 10000.00 root data:TableFullScan_17
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─TableReader_20 10000.00 root data:TableFullScan_19
|
|
└─TableFullScan_19 10000.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where a = 101;
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t2.a, 101)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
explain select * from t2 where a = 550;
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t2.a, 550)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t2 where a = 833;
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t2.a, 833)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where a in (10,20,30);
|
|
id estRows task access object operator info
|
|
TableReader_8 30.00 root data:Selection_7
|
|
└─Selection_7 30.00 cop[tikv] in(test.t2.a, 10, 20, 30)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
explain select * from t2 where (a = 100 OR a = 900);
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 40.00 root
|
|
├─TableReader_11 20.00 root data:Selection_10
|
|
│ └─Selection_10 20.00 cop[tikv] or(eq(test.t2.a, 100), eq(test.t2.a, 900))
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 20.00 root data:Selection_13
|
|
└─Selection_13 20.00 cop[tikv] or(eq(test.t2.a, 100), eq(test.t2.a, 900))
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where (a > 100 AND a < 600);
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 750.00 root
|
|
├─TableReader_12 250.00 root data:Selection_11
|
|
│ └─Selection_11 250.00 cop[tikv] gt(test.t2.a, 100), lt(test.t2.a, 600)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 250.00 root data:Selection_14
|
|
│ └─Selection_14 250.00 cop[tikv] gt(test.t2.a, 100), lt(test.t2.a, 600)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 250.00 root data:Selection_17
|
|
└─Selection_17 250.00 cop[tikv] gt(test.t2.a, 100), lt(test.t2.a, 600)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t2 where b = 4;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 50.00 root
|
|
├─IndexLookUp_17 10.00 root
|
|
│ ├─IndexRangeScan_15(Build) 10.00 cop[tikv] table:t2, partition:p0, index:b(b) range:[4,4], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_16(Probe) 10.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─IndexLookUp_23 10.00 root
|
|
│ ├─IndexRangeScan_21(Build) 10.00 cop[tikv] table:t2, partition:p1, index:b(b) range:[4,4], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_22(Probe) 10.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
├─IndexLookUp_29 10.00 root
|
|
│ ├─IndexRangeScan_27(Build) 10.00 cop[tikv] table:t2, partition:p2, index:b(b) range:[4,4], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_28(Probe) 10.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
├─IndexLookUp_35 10.00 root
|
|
│ ├─IndexRangeScan_33(Build) 10.00 cop[tikv] table:t2, partition:p3, index:b(b) range:[4,4], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_34(Probe) 10.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─IndexLookUp_41 10.00 root
|
|
├─IndexRangeScan_39(Build) 10.00 cop[tikv] table:t2, partition:p4, index:b(b) range:[4,4], keep order:false, stats:pseudo
|
|
└─TableRowIDScan_40(Probe) 10.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where b = 6;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 50.00 root
|
|
├─IndexLookUp_17 10.00 root
|
|
│ ├─IndexRangeScan_15(Build) 10.00 cop[tikv] table:t2, partition:p0, index:b(b) range:[6,6], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_16(Probe) 10.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─IndexLookUp_23 10.00 root
|
|
│ ├─IndexRangeScan_21(Build) 10.00 cop[tikv] table:t2, partition:p1, index:b(b) range:[6,6], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_22(Probe) 10.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
├─IndexLookUp_29 10.00 root
|
|
│ ├─IndexRangeScan_27(Build) 10.00 cop[tikv] table:t2, partition:p2, index:b(b) range:[6,6], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_28(Probe) 10.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
├─IndexLookUp_35 10.00 root
|
|
│ ├─IndexRangeScan_33(Build) 10.00 cop[tikv] table:t2, partition:p3, index:b(b) range:[6,6], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_34(Probe) 10.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─IndexLookUp_41 10.00 root
|
|
├─IndexRangeScan_39(Build) 10.00 cop[tikv] table:t2, partition:p4, index:b(b) range:[6,6], keep order:false, stats:pseudo
|
|
└─TableRowIDScan_40(Probe) 10.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where b in (1,3,5);
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 150.00 root
|
|
├─IndexLookUp_17 30.00 root
|
|
│ ├─IndexRangeScan_15(Build) 30.00 cop[tikv] table:t2, partition:p0, index:b(b) range:[1,1], [3,3], [5,5], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_16(Probe) 30.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─IndexLookUp_23 30.00 root
|
|
│ ├─IndexRangeScan_21(Build) 30.00 cop[tikv] table:t2, partition:p1, index:b(b) range:[1,1], [3,3], [5,5], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_22(Probe) 30.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
├─IndexLookUp_29 30.00 root
|
|
│ ├─IndexRangeScan_27(Build) 30.00 cop[tikv] table:t2, partition:p2, index:b(b) range:[1,1], [3,3], [5,5], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_28(Probe) 30.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
├─IndexLookUp_35 30.00 root
|
|
│ ├─IndexRangeScan_33(Build) 30.00 cop[tikv] table:t2, partition:p3, index:b(b) range:[1,1], [3,3], [5,5], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_34(Probe) 30.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─IndexLookUp_41 30.00 root
|
|
├─IndexRangeScan_39(Build) 30.00 cop[tikv] table:t2, partition:p4, index:b(b) range:[1,1], [3,3], [5,5], keep order:false, stats:pseudo
|
|
└─TableRowIDScan_40(Probe) 30.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where b in (2,4,6);
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 150.00 root
|
|
├─IndexLookUp_17 30.00 root
|
|
│ ├─IndexRangeScan_15(Build) 30.00 cop[tikv] table:t2, partition:p0, index:b(b) range:[2,2], [4,4], [6,6], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_16(Probe) 30.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─IndexLookUp_23 30.00 root
|
|
│ ├─IndexRangeScan_21(Build) 30.00 cop[tikv] table:t2, partition:p1, index:b(b) range:[2,2], [4,4], [6,6], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_22(Probe) 30.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
├─IndexLookUp_29 30.00 root
|
|
│ ├─IndexRangeScan_27(Build) 30.00 cop[tikv] table:t2, partition:p2, index:b(b) range:[2,2], [4,4], [6,6], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_28(Probe) 30.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
├─IndexLookUp_35 30.00 root
|
|
│ ├─IndexRangeScan_33(Build) 30.00 cop[tikv] table:t2, partition:p3, index:b(b) range:[2,2], [4,4], [6,6], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_34(Probe) 30.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─IndexLookUp_41 30.00 root
|
|
├─IndexRangeScan_39(Build) 30.00 cop[tikv] table:t2, partition:p4, index:b(b) range:[2,2], [4,4], [6,6], keep order:false, stats:pseudo
|
|
└─TableRowIDScan_40(Probe) 30.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where b in (7,8,9);
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 150.00 root
|
|
├─IndexLookUp_17 30.00 root
|
|
│ ├─IndexRangeScan_15(Build) 30.00 cop[tikv] table:t2, partition:p0, index:b(b) range:[7,7], [8,8], [9,9], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_16(Probe) 30.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─IndexLookUp_23 30.00 root
|
|
│ ├─IndexRangeScan_21(Build) 30.00 cop[tikv] table:t2, partition:p1, index:b(b) range:[7,7], [8,8], [9,9], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_22(Probe) 30.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
├─IndexLookUp_29 30.00 root
|
|
│ ├─IndexRangeScan_27(Build) 30.00 cop[tikv] table:t2, partition:p2, index:b(b) range:[7,7], [8,8], [9,9], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_28(Probe) 30.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
├─IndexLookUp_35 30.00 root
|
|
│ ├─IndexRangeScan_33(Build) 30.00 cop[tikv] table:t2, partition:p3, index:b(b) range:[7,7], [8,8], [9,9], keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_34(Probe) 30.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─IndexLookUp_41 30.00 root
|
|
├─IndexRangeScan_39(Build) 30.00 cop[tikv] table:t2, partition:p4, index:b(b) range:[7,7], [8,8], [9,9], keep order:false, stats:pseudo
|
|
└─TableRowIDScan_40(Probe) 30.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where b > 5;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 16666.67 root
|
|
├─TableReader_14 3333.33 root data:Selection_13
|
|
│ └─Selection_13 3333.33 cop[tikv] gt(test.t2.b, 5)
|
|
│ └─TableFullScan_12 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_20 3333.33 root data:Selection_19
|
|
│ └─Selection_19 3333.33 cop[tikv] gt(test.t2.b, 5)
|
|
│ └─TableFullScan_18 10000.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
├─TableReader_26 3333.33 root data:Selection_25
|
|
│ └─Selection_25 3333.33 cop[tikv] gt(test.t2.b, 5)
|
|
│ └─TableFullScan_24 10000.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
├─TableReader_32 3333.33 root data:Selection_31
|
|
│ └─Selection_31 3333.33 cop[tikv] gt(test.t2.b, 5)
|
|
│ └─TableFullScan_30 10000.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─TableReader_38 3333.33 root data:Selection_37
|
|
└─Selection_37 3333.33 cop[tikv] gt(test.t2.b, 5)
|
|
└─TableFullScan_36 10000.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where b > 5 and b < 8;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 1250.00 root
|
|
├─IndexLookUp_17 250.00 root
|
|
│ ├─IndexRangeScan_15(Build) 250.00 cop[tikv] table:t2, partition:p0, index:b(b) range:(5,8), keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_16(Probe) 250.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─IndexLookUp_23 250.00 root
|
|
│ ├─IndexRangeScan_21(Build) 250.00 cop[tikv] table:t2, partition:p1, index:b(b) range:(5,8), keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_22(Probe) 250.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
├─IndexLookUp_29 250.00 root
|
|
│ ├─IndexRangeScan_27(Build) 250.00 cop[tikv] table:t2, partition:p2, index:b(b) range:(5,8), keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_28(Probe) 250.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
├─IndexLookUp_35 250.00 root
|
|
│ ├─IndexRangeScan_33(Build) 250.00 cop[tikv] table:t2, partition:p3, index:b(b) range:(5,8), keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_34(Probe) 250.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─IndexLookUp_41 250.00 root
|
|
├─IndexRangeScan_39(Build) 250.00 cop[tikv] table:t2, partition:p4, index:b(b) range:(5,8), keep order:false, stats:pseudo
|
|
└─TableRowIDScan_40(Probe) 250.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where b > 5 and b < 7;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 1250.00 root
|
|
├─IndexLookUp_17 250.00 root
|
|
│ ├─IndexRangeScan_15(Build) 250.00 cop[tikv] table:t2, partition:p0, index:b(b) range:(5,7), keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_16(Probe) 250.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─IndexLookUp_23 250.00 root
|
|
│ ├─IndexRangeScan_21(Build) 250.00 cop[tikv] table:t2, partition:p1, index:b(b) range:(5,7), keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_22(Probe) 250.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
├─IndexLookUp_29 250.00 root
|
|
│ ├─IndexRangeScan_27(Build) 250.00 cop[tikv] table:t2, partition:p2, index:b(b) range:(5,7), keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_28(Probe) 250.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
├─IndexLookUp_35 250.00 root
|
|
│ ├─IndexRangeScan_33(Build) 250.00 cop[tikv] table:t2, partition:p3, index:b(b) range:(5,7), keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_34(Probe) 250.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─IndexLookUp_41 250.00 root
|
|
├─IndexRangeScan_39(Build) 250.00 cop[tikv] table:t2, partition:p4, index:b(b) range:(5,7), keep order:false, stats:pseudo
|
|
└─TableRowIDScan_40(Probe) 250.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t2 where b > 0 and b < 5;
|
|
id estRows task access object operator info
|
|
PartitionUnion_11 1250.00 root
|
|
├─IndexLookUp_17 250.00 root
|
|
│ ├─IndexRangeScan_15(Build) 250.00 cop[tikv] table:t2, partition:p0, index:b(b) range:(0,5), keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_16(Probe) 250.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─IndexLookUp_23 250.00 root
|
|
│ ├─IndexRangeScan_21(Build) 250.00 cop[tikv] table:t2, partition:p1, index:b(b) range:(0,5), keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_22(Probe) 250.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
├─IndexLookUp_29 250.00 root
|
|
│ ├─IndexRangeScan_27(Build) 250.00 cop[tikv] table:t2, partition:p2, index:b(b) range:(0,5), keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_28(Probe) 250.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
├─IndexLookUp_35 250.00 root
|
|
│ ├─IndexRangeScan_33(Build) 250.00 cop[tikv] table:t2, partition:p3, index:b(b) range:(0,5), keep order:false, stats:pseudo
|
|
│ └─TableRowIDScan_34(Probe) 250.00 cop[tikv] table:t2, partition:p3 keep order:false, stats:pseudo
|
|
└─IndexLookUp_41 250.00 root
|
|
├─IndexRangeScan_39(Build) 250.00 cop[tikv] table:t2, partition:p4, index:b(b) range:(0,5), keep order:false, stats:pseudo
|
|
└─TableRowIDScan_40(Probe) 250.00 cop[tikv] table:t2, partition:p4 keep order:false, stats:pseudo
|
|
flush status;
|
|
update t2 set a = 111 where b = 10;
|
|
show status like 'Handler_read_rnd_next';
|
|
Variable_name Value
|
|
show status like 'Handler_read_key';
|
|
Variable_name Value
|
|
flush status;
|
|
update t2 set a = 111 where b in (5,6);
|
|
show status like 'Handler_read_rnd_next';
|
|
Variable_name Value
|
|
show status like 'Handler_read_key';
|
|
Variable_name Value
|
|
flush status;
|
|
update t2 set a = 222 where b = 7;
|
|
show status like 'Handler_read_rnd_next';
|
|
Variable_name Value
|
|
show status like 'Handler_read_key';
|
|
Variable_name Value
|
|
flush status;
|
|
delete from t2 where b = 7;
|
|
show status like 'Handler_read_rnd_next';
|
|
Variable_name Value
|
|
show status like 'Handler_read_key';
|
|
Variable_name Value
|
|
flush status;
|
|
delete from t2 where b > 5;
|
|
show status like 'Handler_read_rnd_next';
|
|
Variable_name Value
|
|
show status like 'Handler_read_key';
|
|
Variable_name Value
|
|
show status like 'Handler_read_prev';
|
|
Variable_name Value
|
|
show status like 'Handler_read_next';
|
|
Variable_name Value
|
|
flush status;
|
|
delete from t2 where b < 5 or b > 3;
|
|
show status like 'Handler_read_rnd_next';
|
|
Variable_name Value
|
|
show status like 'Handler_read_key';
|
|
Variable_name Value
|
|
show status like 'Handler_read_prev';
|
|
Variable_name Value
|
|
show status like 'Handler_read_next';
|
|
Variable_name Value
|
|
drop table t1, t2;
|
|
create table t1 (s1 int);
|
|
explain select 1 from t1 union all select 2;
|
|
id estRows task access object operator info
|
|
Union_8 10001.00 root
|
|
├─Projection_9 10000.00 root 1->Column#5
|
|
│ └─TableReader_11 10000.00 root data:TableFullScan_10
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1 keep order:false, stats:pseudo
|
|
└─Projection_12 1.00 root 2->Column#5
|
|
└─TableDual_13 1.00 root rows:1
|
|
drop table t1;
|
|
create table t1 (a int)
|
|
partition by range(a) (
|
|
partition p0 values less than (64),
|
|
partition p1 values less than (128),
|
|
partition p2 values less than (255)
|
|
);
|
|
create table t2 (a int)
|
|
partition by range(a+0) (
|
|
partition p0 values less than (64),
|
|
partition p1 values less than (128),
|
|
partition p2 values less than (255)
|
|
);
|
|
insert into t1 values (0x20), (0x20), (0x41), (0x41), (0xFE), (0xFE);
|
|
insert into t2 values (0x20), (0x20), (0x41), (0x41), (0xFE), (0xFE);
|
|
explain select * from t1 where a=0;
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.a, 0)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p0 keep order:false, stats:pseudo
|
|
explain select * from t2 where a=0;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 30.00 root
|
|
├─TableReader_12 10.00 root data:Selection_11
|
|
│ └─Selection_11 10.00 cop[tikv] eq(test.t2.a, 0)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 10.00 root data:Selection_14
|
|
│ └─Selection_14 10.00 cop[tikv] eq(test.t2.a, 0)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 10.00 root data:Selection_17
|
|
└─Selection_17 10.00 cop[tikv] eq(test.t2.a, 0)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t1 where a=0xFE;
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t1.a, 254)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t2 where a=0xFE;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 30.00 root
|
|
├─TableReader_12 10.00 root data:Selection_11
|
|
│ └─Selection_11 10.00 cop[tikv] eq(test.t2.a, 254)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 10.00 root data:Selection_14
|
|
│ └─Selection_14 10.00 cop[tikv] eq(test.t2.a, 254)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 10.00 root data:Selection_17
|
|
└─Selection_17 10.00 cop[tikv] eq(test.t2.a, 254)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t1 where a > 0xFE AND a <= 0xFF;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
explain select * from t2 where a > 0xFE AND a <= 0xFF;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 750.00 root
|
|
├─TableReader_12 250.00 root data:Selection_11
|
|
│ └─Selection_11 250.00 cop[tikv] gt(test.t2.a, 254), le(test.t2.a, 255)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 250.00 root data:Selection_14
|
|
│ └─Selection_14 250.00 cop[tikv] gt(test.t2.a, 254), le(test.t2.a, 255)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 250.00 root data:Selection_17
|
|
└─Selection_17 250.00 cop[tikv] gt(test.t2.a, 254), le(test.t2.a, 255)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t1 where a >= 0xFE AND a <= 0xFF;
|
|
id estRows task access object operator info
|
|
TableReader_8 250.00 root data:Selection_7
|
|
└─Selection_7 250.00 cop[tikv] ge(test.t1.a, 254), le(test.t1.a, 255)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t2 where a >= 0xFE AND a <= 0xFF;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 750.00 root
|
|
├─TableReader_12 250.00 root data:Selection_11
|
|
│ └─Selection_11 250.00 cop[tikv] ge(test.t2.a, 254), le(test.t2.a, 255)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 250.00 root data:Selection_14
|
|
│ └─Selection_14 250.00 cop[tikv] ge(test.t2.a, 254), le(test.t2.a, 255)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 250.00 root data:Selection_17
|
|
└─Selection_17 250.00 cop[tikv] ge(test.t2.a, 254), le(test.t2.a, 255)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t1 where a < 64 AND a >= 63;
|
|
id estRows task access object operator info
|
|
TableReader_8 250.00 root data:Selection_7
|
|
└─Selection_7 250.00 cop[tikv] ge(test.t1.a, 63), lt(test.t1.a, 64)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t1, partition:p0 keep order:false, stats:pseudo
|
|
explain select * from t2 where a < 64 AND a >= 63;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 750.00 root
|
|
├─TableReader_12 250.00 root data:Selection_11
|
|
│ └─Selection_11 250.00 cop[tikv] ge(test.t2.a, 63), lt(test.t2.a, 64)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 250.00 root data:Selection_14
|
|
│ └─Selection_14 250.00 cop[tikv] ge(test.t2.a, 63), lt(test.t2.a, 64)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 250.00 root data:Selection_17
|
|
└─Selection_17 250.00 cop[tikv] ge(test.t2.a, 63), lt(test.t2.a, 64)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t1 where a <= 64 AND a >= 63;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 500.00 root
|
|
├─TableReader_11 250.00 root data:Selection_10
|
|
│ └─Selection_10 250.00 cop[tikv] ge(test.t1.a, 63), le(test.t1.a, 64)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 250.00 root data:Selection_13
|
|
└─Selection_13 250.00 cop[tikv] ge(test.t1.a, 63), le(test.t1.a, 64)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p1 keep order:false, stats:pseudo
|
|
explain select * from t2 where a <= 64 AND a >= 63;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 750.00 root
|
|
├─TableReader_12 250.00 root data:Selection_11
|
|
│ └─Selection_11 250.00 cop[tikv] ge(test.t2.a, 63), le(test.t2.a, 64)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t2, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 250.00 root data:Selection_14
|
|
│ └─Selection_14 250.00 cop[tikv] ge(test.t2.a, 63), le(test.t2.a, 64)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t2, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 250.00 root data:Selection_17
|
|
└─Selection_17 250.00 cop[tikv] ge(test.t2.a, 63), le(test.t2.a, 64)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t2, partition:p2 keep order:false, stats:pseudo
|
|
drop table t1;
|
|
drop table t2;
|
|
create table t1(a bigint unsigned not null) partition by range(a+0) (
|
|
partition p1 values less than (10),
|
|
partition p2 values less than (20),
|
|
partition p3 values less than (2305561538531885056),
|
|
partition p4 values less than (2305561538531950591)
|
|
);
|
|
insert into t1 values (9),(19),(0xFFFF0000FFFF000-1), (0xFFFF0000FFFFFFF-1);
|
|
insert into t1 values (9),(19),(0xFFFF0000FFFF000-1), (0xFFFF0000FFFFFFF-1);
|
|
explain select * from t1 where
|
|
a >= 2305561538531885056-10 and a <= 2305561538531885056-8;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 1000.00 root
|
|
├─TableReader_13 250.00 root data:Selection_12
|
|
│ └─Selection_12 250.00 cop[tikv] ge(test.t1.a, 2305561538531885046), le(test.t1.a, 2305561538531885048)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p1 keep order:false, stats:pseudo
|
|
├─TableReader_16 250.00 root data:Selection_15
|
|
│ └─Selection_15 250.00 cop[tikv] ge(test.t1.a, 2305561538531885046), le(test.t1.a, 2305561538531885048)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p2 keep order:false, stats:pseudo
|
|
├─TableReader_19 250.00 root data:Selection_18
|
|
│ └─Selection_18 250.00 cop[tikv] ge(test.t1.a, 2305561538531885046), le(test.t1.a, 2305561538531885048)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p3 keep order:false, stats:pseudo
|
|
└─TableReader_22 250.00 root data:Selection_21
|
|
└─Selection_21 250.00 cop[tikv] ge(test.t1.a, 2305561538531885046), le(test.t1.a, 2305561538531885048)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t1 where
|
|
a > 0xFFFFFFFFFFFFFFEC and a < 0xFFFFFFFFFFFFFFEE;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 1000.00 root
|
|
├─TableReader_13 250.00 root data:Selection_12
|
|
│ └─Selection_12 250.00 cop[tikv] gt(test.t1.a, 18446744073709551596), lt(test.t1.a, 18446744073709551598)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p1 keep order:false, stats:pseudo
|
|
├─TableReader_16 250.00 root data:Selection_15
|
|
│ └─Selection_15 250.00 cop[tikv] gt(test.t1.a, 18446744073709551596), lt(test.t1.a, 18446744073709551598)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p2 keep order:false, stats:pseudo
|
|
├─TableReader_19 250.00 root data:Selection_18
|
|
│ └─Selection_18 250.00 cop[tikv] gt(test.t1.a, 18446744073709551596), lt(test.t1.a, 18446744073709551598)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p3 keep order:false, stats:pseudo
|
|
└─TableReader_22 250.00 root data:Selection_21
|
|
└─Selection_21 250.00 cop[tikv] gt(test.t1.a, 18446744073709551596), lt(test.t1.a, 18446744073709551598)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p4 keep order:false, stats:pseudo
|
|
explain select * from t1 where a>=0 and a <= 0xFFFFFFFFFFFFFFFF;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 13293.33 root
|
|
├─TableReader_13 3323.33 root data:Selection_12
|
|
│ └─Selection_12 3323.33 cop[tikv] le(test.t1.a, 18446744073709551615)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p1 keep order:false, stats:pseudo
|
|
├─TableReader_16 3323.33 root data:Selection_15
|
|
│ └─Selection_15 3323.33 cop[tikv] le(test.t1.a, 18446744073709551615)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p2 keep order:false, stats:pseudo
|
|
├─TableReader_19 3323.33 root data:Selection_18
|
|
│ └─Selection_18 3323.33 cop[tikv] le(test.t1.a, 18446744073709551615)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p3 keep order:false, stats:pseudo
|
|
└─TableReader_22 3323.33 root data:Selection_21
|
|
└─Selection_21 3323.33 cop[tikv] le(test.t1.a, 18446744073709551615)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p4 keep order:false, stats:pseudo
|
|
drop table t1;
|
|
create table t1 (a bigint) partition by range(a+0) (
|
|
partition p1 values less than (-1000),
|
|
partition p2 values less than (-10),
|
|
partition p3 values less than (10),
|
|
partition p4 values less than (1000)
|
|
);
|
|
insert into t1 values (-15),(-5),(5),(15),(-15),(-5),(5),(15);
|
|
explain select * from t1 where a>-2 and a <=0;
|
|
id estRows task access object operator info
|
|
PartitionUnion_10 1000.00 root
|
|
├─TableReader_13 250.00 root data:Selection_12
|
|
│ └─Selection_12 250.00 cop[tikv] gt(test.t1.a, -2), le(test.t1.a, 0)
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t1, partition:p1 keep order:false, stats:pseudo
|
|
├─TableReader_16 250.00 root data:Selection_15
|
|
│ └─Selection_15 250.00 cop[tikv] gt(test.t1.a, -2), le(test.t1.a, 0)
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t1, partition:p2 keep order:false, stats:pseudo
|
|
├─TableReader_19 250.00 root data:Selection_18
|
|
│ └─Selection_18 250.00 cop[tikv] gt(test.t1.a, -2), le(test.t1.a, 0)
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t1, partition:p3 keep order:false, stats:pseudo
|
|
└─TableReader_22 250.00 root data:Selection_21
|
|
└─Selection_21 250.00 cop[tikv] gt(test.t1.a, -2), le(test.t1.a, 0)
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t1, partition:p4 keep order:false, stats:pseudo
|
|
drop table t1;
|
|
CREATE TABLE t1 ( recdate DATETIME NOT NULL )
|
|
PARTITION BY RANGE( TO_DAYS(recdate) ) (
|
|
PARTITION p0 VALUES LESS THAN ( TO_DAYS('2007-03-08') ),
|
|
PARTITION p1 VALUES LESS THAN ( TO_DAYS('2007-04-01') )
|
|
);
|
|
INSERT INTO t1 VALUES ('2007-03-01 12:00:00');
|
|
INSERT INTO t1 VALUES ('2007-03-07 12:00:00');
|
|
INSERT INTO t1 VALUES ('2007-03-08 12:00:00');
|
|
INSERT INTO t1 VALUES ('2007-03-15 12:00:00');
|
|
explain select * from t1 where recdate < '2007-03-08 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] lt(test.t1.recdate, 2007-03-08 00:00:00.000000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] lt(test.t1.recdate, 2007-03-08 00:00:00.000000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p1 keep order:false, stats:pseudo
|
|
drop table t1;
|
|
CREATE TABLE t1 ( recdate DATETIME NOT NULL )
|
|
PARTITION BY RANGE( YEAR(recdate) ) (
|
|
PARTITION p0 VALUES LESS THAN (2006),
|
|
PARTITION p1 VALUES LESS THAN (2007)
|
|
);
|
|
INSERT INTO t1 VALUES ('2005-03-01 12:00:00');
|
|
INSERT INTO t1 VALUES ('2005-03-01 12:00:00');
|
|
INSERT INTO t1 VALUES ('2006-03-01 12:00:00');
|
|
INSERT INTO t1 VALUES ('2006-03-01 12:00:00');
|
|
explain select * from t1 where recdate < '2006-01-01 00:00:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] lt(test.t1.recdate, 2006-01-01 00:00:00.000000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t1, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] lt(test.t1.recdate, 2006-01-01 00:00:00.000000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t1, partition:p1 keep order:false, stats:pseudo
|
|
drop table t1;
|
|
create table t0 (a int);
|
|
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
|
create table t1 (a int)
|
|
partition by range(a+0) (
|
|
partition p0 values less than (64),
|
|
partition p1 values less than (128),
|
|
partition p2 values less than (255)
|
|
);
|
|
insert into t1 select A.a + 10*B.a from t0 A, t0 B;
|
|
explain select * from t1 where a between 10 and 13;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 750.00 root
|
|
├─TableReader_12 250.00 root data:Selection_11
|
|
│ └─Selection_11 250.00 cop[tikv] ge(test.t1.a, 10), le(test.t1.a, 13)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 250.00 root data:Selection_14
|
|
│ └─Selection_14 250.00 cop[tikv] ge(test.t1.a, 10), le(test.t1.a, 13)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 250.00 root data:Selection_17
|
|
└─Selection_17 250.00 cop[tikv] ge(test.t1.a, 10), le(test.t1.a, 13)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t1 where a between 10 and 10+33;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 750.00 root
|
|
├─TableReader_12 250.00 root data:Selection_11
|
|
│ └─Selection_11 250.00 cop[tikv] ge(test.t1.a, 10), le(test.t1.a, 43)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t1, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 250.00 root data:Selection_14
|
|
│ └─Selection_14 250.00 cop[tikv] ge(test.t1.a, 10), le(test.t1.a, 43)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t1, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 250.00 root data:Selection_17
|
|
└─Selection_17 250.00 cop[tikv] ge(test.t1.a, 10), le(test.t1.a, 43)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t1, partition:p2 keep order:false, stats:pseudo
|
|
drop table t0, t1;
|
|
drop table if exists t;
|
|
create table t(a timestamp) partition by range(unix_timestamp(a)) (partition p0 values less than(unix_timestamp('2019-02-16 14:20:00')), partition p1 values less than (maxvalue));
|
|
explain select * from t where a between timestamp'2019-02-16 14:19:00' and timestamp'2019-02-16 14:21:00';
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 500.00 root
|
|
├─TableReader_11 250.00 root data:Selection_10
|
|
│ └─Selection_10 250.00 cop[tikv] ge(test.t.a, 2019-02-16 14:19:00), le(test.t.a, 2019-02-16 14:21:00)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 250.00 root data:Selection_13
|
|
└─Selection_13 250.00 cop[tikv] ge(test.t.a, 2019-02-16 14:19:00), le(test.t.a, 2019-02-16 14:21:00)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
drop table if exists t;
|
|
create table t(a int) partition by range(a) (partition p0 values less than (100), partition p1 values less than (200), partition p2 values less than (300));
|
|
begin;
|
|
explain select * from t;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 30000.00 root
|
|
├─TableReader_10 10000.00 root data:TableFullScan_9
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_12 10000.00 root data:TableFullScan_11
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_14 10000.00 root data:TableFullScan_13
|
|
└─TableFullScan_13 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
insert into t values(1);
|
|
explain select * from t;
|
|
id estRows task access object operator info
|
|
Projection_11 30000.00 root test.t.a
|
|
└─PartitionUnion_12 30000.00 root
|
|
├─UnionScan_13 10000.00 root
|
|
│ └─TableReader_15 10000.00 root data:TableFullScan_14
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
├─UnionScan_16 10000.00 root
|
|
│ └─TableReader_18 10000.00 root data:TableFullScan_17
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
└─UnionScan_19 10000.00 root
|
|
└─TableReader_21 10000.00 root data:TableFullScan_20
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
rollback;
|
|
begin;
|
|
insert into t values(101);
|
|
explain select * from t;
|
|
id estRows task access object operator info
|
|
Projection_11 30000.00 root test.t.a
|
|
└─PartitionUnion_12 30000.00 root
|
|
├─UnionScan_13 10000.00 root
|
|
│ └─TableReader_15 10000.00 root data:TableFullScan_14
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
├─UnionScan_16 10000.00 root
|
|
│ └─TableReader_18 10000.00 root data:TableFullScan_17
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
└─UnionScan_19 10000.00 root
|
|
└─TableReader_21 10000.00 root data:TableFullScan_20
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
rollback;
|
|
begin;
|
|
insert into t values(201);
|
|
explain select * from t;
|
|
id estRows task access object operator info
|
|
Projection_11 30000.00 root test.t.a
|
|
└─PartitionUnion_12 30000.00 root
|
|
├─UnionScan_13 10000.00 root
|
|
│ └─TableReader_15 10000.00 root data:TableFullScan_14
|
|
│ └─TableFullScan_14 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
├─UnionScan_16 10000.00 root
|
|
│ └─TableReader_18 10000.00 root data:TableFullScan_17
|
|
│ └─TableFullScan_17 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
└─UnionScan_19 10000.00 root
|
|
└─TableReader_21 10000.00 root data:TableFullScan_20
|
|
└─TableFullScan_20 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
rollback;
|
|
explain select * from t;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 30000.00 root
|
|
├─TableReader_10 10000.00 root data:TableFullScan_9
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_12 10000.00 root data:TableFullScan_11
|
|
│ └─TableFullScan_11 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_14 10000.00 root data:TableFullScan_13
|
|
└─TableFullScan_13 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
drop table if exists t;
|
|
CREATE TABLE `t` (
|
|
`a` int(11) DEFAULT NULL,
|
|
`b` int(11) DEFAULT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
|
|
PARTITION BY RANGE COLUMNS(a) (
|
|
PARTITION p0 VALUES LESS THAN (1),
|
|
PARTITION p1 VALUES LESS THAN (10),
|
|
PARTITION p2 VALUES LESS THAN (100)
|
|
);
|
|
desc select * from t where a = 11 and b = 1 or a = 12 and b = 1;
|
|
id estRows task access object operator info
|
|
TableReader_8 8000.00 root data:Selection_7
|
|
└─Selection_7 8000.00 cop[tikv] or(and(eq(test.t.a, 11), eq(test.t.b, 1)), and(eq(test.t.a, 12), eq(test.t.b, 1)))
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
drop table if exists t;
|
|
create table t (ts timestamp(3) not null default current_timestamp(3))
|
|
partition by range (floor(unix_timestamp(ts))) (
|
|
partition p0 values less than (unix_timestamp('2020-04-05 00:00:00')),
|
|
partition p1 values less than (unix_timestamp('2020-04-15 00:00:00')),
|
|
partition p2 values less than (unix_timestamp('2020-04-25 00:00:00'))
|
|
);
|
|
explain select * from t where ts = '2020-04-06 00:00:00' -- p1;
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t.ts, 2020-04-06 00:00:00.000000)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
explain select * from t where ts = '2020-04-05 00:00:00.001' -- p1;
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t.ts, 2020-04-05 00:00:00.001000)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
explain select * from t where ts > '2020-04-15 00:00:00' -- p2;
|
|
id estRows task access object operator info
|
|
TableReader_8 3333.33 root data:Selection_7
|
|
└─Selection_7 3333.33 cop[tikv] gt(test.t.ts, 2020-04-15 00:00:00.000000)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t where ts > '2020-04-14 23:59:59.999' -- p1,p2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6666.67 root
|
|
├─TableReader_11 3333.33 root data:Selection_10
|
|
│ └─Selection_10 3333.33 cop[tikv] gt(test.t.ts, 2020-04-14 23:59:59.999000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_14 3333.33 root data:Selection_13
|
|
└─Selection_13 3333.33 cop[tikv] gt(test.t.ts, 2020-04-14 23:59:59.999000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t where ts > '2020-04-15 00:00:00.001' -- p2;
|
|
id estRows task access object operator info
|
|
TableReader_8 3333.33 root data:Selection_7
|
|
└─Selection_7 3333.33 cop[tikv] gt(test.t.ts, 2020-04-15 00:00:00.001000)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t where ts > '2020-04-26 00:00:00.001' -- dual;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
explain select * from t where ts >= '2020-04-04 12:22:32' -- p0,p1,p2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 10000.00 root
|
|
├─TableReader_12 3333.33 root data:Selection_11
|
|
│ └─Selection_11 3333.33 cop[tikv] ge(test.t.ts, 2020-04-04 12:22:32.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 3333.33 root data:Selection_14
|
|
│ └─Selection_14 3333.33 cop[tikv] ge(test.t.ts, 2020-04-04 12:22:32.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 3333.33 root data:Selection_17
|
|
└─Selection_17 3333.33 cop[tikv] ge(test.t.ts, 2020-04-04 12:22:32.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t where ts >= '2020-04-05 00:00:00' -- p1,p2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6666.67 root
|
|
├─TableReader_11 3333.33 root data:Selection_10
|
|
│ └─Selection_10 3333.33 cop[tikv] ge(test.t.ts, 2020-04-05 00:00:00.000000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_14 3333.33 root data:Selection_13
|
|
└─Selection_13 3333.33 cop[tikv] ge(test.t.ts, 2020-04-05 00:00:00.000000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t where ts >= '2020-04-25 00:00:00' -- dual;
|
|
id estRows task access object operator info
|
|
TableDual_6 0.00 root rows:0
|
|
explain select * from t where ts < '2020-04-25 00:00:00' -- p0,p1,p2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t.ts, 2020-04-25 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t.ts, 2020-04-25 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t.ts, 2020-04-25 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t where ts < '2020-04-15 00:00:00.001' -- p0,p1,p2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t.ts, 2020-04-15 00:00:00.001000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t.ts, 2020-04-15 00:00:00.001000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t.ts, 2020-04-15 00:00:00.001000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t where ts < '2020-04-15 00:00:00' -- expect perfect : p0,p1, obtain: p0,p1,p2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t.ts, 2020-04-15 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t.ts, 2020-04-15 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t.ts, 2020-04-15 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t where ts < '2020-04-14 23:59:59.999' -- p0,p1;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] lt(test.t.ts, 2020-04-14 23:59:59.999000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] lt(test.t.ts, 2020-04-14 23:59:59.999000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
explain select * from t where ts < '2020-04-03 00:00:00' -- p0;
|
|
id estRows task access object operator info
|
|
TableReader_8 3323.33 root data:Selection_7
|
|
└─Selection_7 3323.33 cop[tikv] lt(test.t.ts, 2020-04-03 00:00:00.000000)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
explain select * from t where ts < '2021-05-03 00:00:00' -- p0,p1,p2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] lt(test.t.ts, 2021-05-03 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] lt(test.t.ts, 2021-05-03 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] lt(test.t.ts, 2021-05-03 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t where ts <= '2020-04-05 00:00:00' -- p0,p1;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] le(test.t.ts, 2020-04-05 00:00:00.000000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] le(test.t.ts, 2020-04-05 00:00:00.000000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
explain select * from t where ts <= '2020-04-03 00:00:00' -- p0;
|
|
id estRows task access object operator info
|
|
TableReader_8 3323.33 root data:Selection_7
|
|
└─Selection_7 3323.33 cop[tikv] le(test.t.ts, 2020-04-03 00:00:00.000000)
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
explain select * from t where ts <= '2020-04-14 23:59:59.123' -- p0,p1;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 6646.67 root
|
|
├─TableReader_11 3323.33 root data:Selection_10
|
|
│ └─Selection_10 3323.33 cop[tikv] le(test.t.ts, 2020-04-14 23:59:59.123000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 3323.33 root data:Selection_13
|
|
└─Selection_13 3323.33 cop[tikv] le(test.t.ts, 2020-04-14 23:59:59.123000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
explain select * from t where ts <= '2020-04-25 00:00:00' -- p0,p1,p2;
|
|
id estRows task access object operator info
|
|
PartitionUnion_9 9970.00 root
|
|
├─TableReader_12 3323.33 root data:Selection_11
|
|
│ └─Selection_11 3323.33 cop[tikv] le(test.t.ts, 2020-04-25 00:00:00.000000)
|
|
│ └─TableFullScan_10 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
├─TableReader_15 3323.33 root data:Selection_14
|
|
│ └─Selection_14 3323.33 cop[tikv] le(test.t.ts, 2020-04-25 00:00:00.000000)
|
|
│ └─TableFullScan_13 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
└─TableReader_18 3323.33 root data:Selection_17
|
|
└─Selection_17 3323.33 cop[tikv] le(test.t.ts, 2020-04-25 00:00:00.000000)
|
|
└─TableFullScan_16 10000.00 cop[tikv] table:t, partition:p2 keep order:false, stats:pseudo
|
|
explain select * from t where ts > '2020-04-25 00:00:00' or ts < '2020-01-02 00:00:00' -- p0;
|
|
id estRows task access object operator info
|
|
TableReader_8 6656.67 root data:Selection_7
|
|
└─Selection_7 6656.67 cop[tikv] or(gt(test.t.ts, 2020-04-25 00:00:00.000000), lt(test.t.ts, 2020-01-02 00:00:00.000000))
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
explain select * from t where ts > '2020-04-02 00:00:00' and ts < '2020-04-07 00:00:00' -- p0,p1;
|
|
id estRows task access object operator info
|
|
PartitionUnion_8 500.00 root
|
|
├─TableReader_11 250.00 root data:Selection_10
|
|
│ └─Selection_10 250.00 cop[tikv] gt(test.t.ts, 2020-04-02 00:00:00.000000), lt(test.t.ts, 2020-04-07 00:00:00.000000)
|
|
│ └─TableFullScan_9 10000.00 cop[tikv] table:t, partition:p0 keep order:false, stats:pseudo
|
|
└─TableReader_14 250.00 root data:Selection_13
|
|
└─Selection_13 250.00 cop[tikv] gt(test.t.ts, 2020-04-02 00:00:00.000000), lt(test.t.ts, 2020-04-07 00:00:00.000000)
|
|
└─TableFullScan_12 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
drop table if exists t;
|
|
create table t (id int, name varchar(20)) partition by hash(id) partitions 128;
|
|
explain SELECT * FROM t partition (p1) where name = '1';
|
|
id estRows task access object operator info
|
|
TableReader_8 10.00 root data:Selection_7
|
|
└─Selection_7 10.00 cop[tikv] eq(test.t.name, "1")
|
|
└─TableFullScan_6 10000.00 cop[tikv] table:t, partition:p1 keep order:false, stats:pseudo
|
|
|