polardbxengine/mysql-test/r/explain_dml.result

174 lines
9.2 KiB
Plaintext

CREATE TABLE t1 (c1 INT NOT NULL, c2 varchar (64), PRIMARY KEY (c1))
PARTITION BY RANGE (c1)
SUBPARTITION BY HASH (c1) SUBPARTITIONS 2
(PARTITION p0 VALUES LESS THAN (0)
(SUBPARTITION subp0,
SUBPARTITION subp1),
PARTITION p1 VALUES LESS THAN (100000)
(SUBPARTITION subp6,
SUBPARTITION subp7));
CREATE TABLE t2 (c1 int);
CREATE TABLE t3 LIKE t2;
INSERT INTO t1 VALUES (1, 'a'), (2, 'b'), (3, 'c');
INSERT INTO t2 SELECT c1 FROM t1;
INSERT INTO t3 SELECT c1 FROM t2;
ANALYZE TABLE t1, t2, t3;
Table Op Msg_type Msg_text
test.t1 analyze status OK
test.t2 analyze status OK
test.t3 analyze status OK
CREATE VIEW v1 AS SELECT * FROM t1 WHERE c1 > 20;
CREATE VIEW v2 AS SELECT t1.* FROM t1 JOIN t2 ON t1.c2=t2.c1;
EXPLAIN
DELETE LOW_PRIORITY QUICK IGNORE
FROM t1 PARTITION (p1)
WHERE c1 > 0
ORDER BY c2
LIMIT 10;
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 DELETE t1 p1_subp6,p1_subp7 range PRIMARY PRIMARY 4 const 3 100.00 Using where; Using filesort
Warnings:
Note 1003 delete low_priority quick ignore from `test`.`t1` PARTITION (`p1`) where (`test`.`t1`.`c1` > 0) order by `test`.`t1`.`c2` limit 10
EXPLAIN
DELETE LOW_PRIORITY QUICK IGNORE t1 , t2
FROM t1, t2, t3
WHERE t1.c1 > 0;
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 DELETE t1 p1_subp6,p1_subp7 ALL PRIMARY NULL NULL NULL 3 100.00 Using where
1 DELETE t2 NULL ALL NULL NULL NULL NULL 3 100.00 NULL
1 SIMPLE t3 NULL ALL NULL NULL NULL NULL 3 100.00 NULL
Warnings:
Note 1003 delete low_priority quick ignore `test`.`t1`, `test`.`t2` from `test`.`t1` join `test`.`t2` join `test`.`t3` where (`test`.`t1`.`c1` > 0)
EXPLAIN
UPDATE LOW_PRIORITY IGNORE t1
SET c1 = 20
WHERE c1 > 100;
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 UPDATE t1 p1_subp6,p1_subp7 range PRIMARY PRIMARY 4 const 1 100.00 Using where; Using temporary
Warnings:
Note 1003 update low_priority ignore `test`.`t1` set `test`.`t1`.`c1` = 20 where (`test`.`t1`.`c1` > 100)
EXPLAIN
UPDATE LOW_PRIORITY IGNORE t1 LEFT JOIN t2 ON t1.c1 = t2.c1
SET t1.c1 = 20
WHERE t1.c1 > 0;
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 UPDATE t1 p1_subp6,p1_subp7 range PRIMARY PRIMARY 4 NULL 3 100.00 Using where
1 SIMPLE t2 NULL ALL NULL NULL NULL NULL 3 100.00 Using where
Warnings:
Note 1003 update low_priority ignore `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`c1` = `test`.`t1`.`c1`)) set `test`.`t1`.`c1` = 20 where (`test`.`t1`.`c1` > 0)
EXPLAIN UPDATE v1 SET c2=c1;
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 UPDATE t1 p1_subp6,p1_subp7 range PRIMARY PRIMARY 4 const 1 100.00 Using where
Warnings:
Note 1003 update (`test`.`t1`) set `test`.`t1`.`c2` = `test`.`t1`.`c1` where (`test`.`t1`.`c1` > 20)
EXPLAIN UPDATE v2 SET c2=c1;
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 UPDATE t1 p0_subp0,p0_subp1,p1_subp6,p1_subp7 ALL NULL NULL NULL NULL 3 100.00 NULL
1 SIMPLE t2 NULL ALL NULL NULL NULL NULL 3 33.33 Using where
Warnings:
Note 1003 update (`test`.`t1` join `test`.`t2`) set `test`.`t1`.`c2` = `test`.`t1`.`c1` where (`test`.`t1`.`c2` = `test`.`t2`.`c1`)
EXPLAIN
INSERT LOW_PRIORITY IGNORE INTO t1 PARTITION(p0, p1) (c1, c2)
VALUES (1, 'a'), (2, 'b')
ON DUPLICATE KEY UPDATE c2 = 'c';
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 INSERT t1 p1_subp6,p1_subp7 ALL NULL NULL NULL NULL NULL NULL NULL
Warnings:
Note 1003 insert low_priority ignore into `test`.`t1` PARTITION (`p0`,`p1`) (`test`.`t1`.`c1`,`test`.`t1`.`c2`) values (1,'a'),(2,'b') on duplicate key update `test`.`t1`.`c2` = 'c'
EXPLAIN
INSERT HIGH_PRIORITY IGNORE INTO t1 PARTITION(p0, p1) (c1, c2)
VALUES (1, 'a'), (2, 'b')
ON DUPLICATE KEY UPDATE c2 = 'c';
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 INSERT t1 p1_subp6,p1_subp7 ALL NULL NULL NULL NULL NULL NULL NULL
Warnings:
Note 1003 insert high_priority ignore into `test`.`t1` PARTITION (`p0`,`p1`) (`test`.`t1`.`c1`,`test`.`t1`.`c2`) values (1,'a'),(2,'b') on duplicate key update `test`.`t1`.`c2` = 'c'
EXPLAIN
INSERT DELAYED IGNORE INTO t1 PARTITION(p0, p1) (c1, c2)
SELECT c1, 'a' FROM t2
ON DUPLICATE KEY UPDATE c2 = 'c' ;
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 INSERT t1 p0_subp0,p0_subp1,p1_subp6,p1_subp7 ALL NULL NULL NULL NULL NULL NULL NULL
1 SIMPLE t2 NULL ALL NULL NULL NULL NULL 3 100.00 NULL
Warnings:
Warning 3005 INSERT DELAYED is no longer supported. The statement was converted to INSERT.
Note 1003 insert ignore into `test`.`t1` PARTITION (`p0`,`p1`) (`test`.`t1`.`c1`,`test`.`t1`.`c2`) /* select#1 */ select `test`.`t2`.`c1` AS `c1`,'a' AS `a` from `test`.`t2` on duplicate key update `test`.`t1`.`c2` = 'c'
EXPLAIN
INSERT INTO t1 PARTITION(p0, p1)
SET c1 = (SELECT c1 from t2);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 INSERT t1 p0_subp0,p0_subp1,p1_subp6,p1_subp7 ALL NULL NULL NULL NULL NULL NULL NULL
2 SUBQUERY t2 NULL ALL NULL NULL NULL NULL 3 100.00 NULL
Warnings:
Note 1003 insert into `test`.`t1` PARTITION (`p0`,`p1`) (`test`.`t1`.`c1`) values ((/* select#2 */ select `test`.`t2`.`c1` from `test`.`t2`))
EXPLAIN
REPLACE LOW_PRIORITY INTO t1 PARTITION(p0, p1) (c1, c2)
VALUES (1, 'a'), (2, 'b');
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 REPLACE t1 p1_subp6,p1_subp7 ALL NULL NULL NULL NULL NULL NULL NULL
Warnings:
Note 1003 replace low_priority into `test`.`t1` PARTITION (`p0`,`p1`) (`test`.`t1`.`c1`,`test`.`t1`.`c2`) values (1,'a'),(2,'b')
EXPLAIN
REPLACE DELAYED INTO t1 PARTITION(p0, p1) (c1, c2)
SELECT c1, 'a' FROM t2;
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 REPLACE t1 p0_subp0,p0_subp1,p1_subp6,p1_subp7 ALL NULL NULL NULL NULL NULL NULL NULL
1 SIMPLE t2 NULL ALL NULL NULL NULL NULL 3 100.00 NULL
Warnings:
Warning 3005 REPLACE DELAYED is no longer supported. The statement was converted to REPLACE.
Note 1003 replace into `test`.`t1` PARTITION (`p0`,`p1`) (`test`.`t1`.`c1`,`test`.`t1`.`c2`) /* select#1 */ select `test`.`t2`.`c1` AS `c1`,'a' AS `a` from `test`.`t2`
EXPLAIN
REPLACE INTO t1 PARTITION(p0, p1)
SET c1 = (SELECT c1 from t2);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 REPLACE t1 p0_subp0,p0_subp1,p1_subp6,p1_subp7 ALL NULL NULL NULL NULL NULL NULL NULL
2 SUBQUERY t2 NULL ALL NULL NULL NULL NULL 3 100.00 NULL
Warnings:
Note 1003 replace into `test`.`t1` PARTITION (`p0`,`p1`) (`test`.`t1`.`c1`) values ((/* select#2 */ select `test`.`t2`.`c1` from `test`.`t2`))
EXPLAIN FORMAT=TRADITIONAL FOR QUERY 'DELETE FROM t3 WHERE c1 > 0'
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 DELETE t3 NULL ALL NULL NULL NULL NULL 3 100.00 Using where
EXPLAIN FORMAT=TRADITIONAL FOR QUERY 'UPDATE LOW_PRIORITY IGNORE t1 LEFT JOIN t2 ON t1.c1 = t2.c1
SET t1.c1 = 20
WHERE t1.c1 > 0'
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 UPDATE t1 p1_subp6,p1_subp7 range PRIMARY PRIMARY 4 NULL 3 100.00 Using where
1 SIMPLE t2 NULL ALL NULL NULL NULL NULL 3 100.00 Using where
EXPLAIN
INSERT /*+ NO_BNL(t2@QB1) */ INTO t3
(SELECT /*+ QB_NAME(qb1) */ t2.c1
FROM t1,t2
WHERE t1.c2 = t2.c1);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 INSERT t3 NULL ALL NULL NULL NULL NULL NULL NULL NULL
1 SIMPLE t2 NULL ALL NULL NULL NULL NULL 3 100.00 NULL
1 SIMPLE t1 p0_subp0,p0_subp1,p1_subp6,p1_subp7 ALL NULL NULL NULL NULL 3 33.33 Using where; Using join buffer (Block Nested Loop)
Warnings:
Note 1003 insert /*+ NO_BNL(`t2`@`qb1`) */ into `test`.`t3` /* select#1 */ select /*+ QB_NAME(`qb1`) */ `test`.`t2`.`c1` AS `c1` from `test`.`t1` join `test`.`t2` where (`test`.`t1`.`c2` = `test`.`t2`.`c1`)
EXPLAIN
INSERT INTO t3
(SELECT /*+ NO_ICP(t2) */ t2.c1
FROM t1,t2
WHERE t1.c2 = t2.c1);
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 INSERT t3 NULL ALL NULL NULL NULL NULL NULL NULL NULL
1 SIMPLE t1 p0_subp0,p0_subp1,p1_subp6,p1_subp7 ALL NULL NULL NULL NULL 3 100.00 NULL
1 SIMPLE t2 NULL ALL NULL NULL NULL NULL 3 33.33 Using where; Using join buffer (Block Nested Loop)
Warnings:
Note 1003 insert /*+ NO_ICP(`t2`@`select#1`) */ into `test`.`t3` /* select#1 */ select `test`.`t2`.`c1` AS `c1` from `test`.`t1` join `test`.`t2` where (`test`.`t1`.`c2` = `test`.`t2`.`c1`)
EXPLAIN
INSERT INTO t3
(SELECT /*+ NO_ICP(t2) */ t2.c1
FROM t2
WHERE t2.c1 IN (SELECT /*+ NO_ICP(t1) */ t1.c1
FROM t1
WHERE t1.c2 BETWEEN 'a' AND 'z'));
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 INSERT t3 NULL ALL NULL NULL NULL NULL NULL NULL NULL
1 SIMPLE t2 NULL ALL NULL NULL NULL NULL 3 100.00 Using where
1 SIMPLE t1 p0_subp0,p0_subp1,p1_subp6,p1_subp7 eq_ref PRIMARY PRIMARY 4 test.t2.c1 1 33.33 Using where
Warnings:
Note 1003 insert /*+ NO_ICP(`t1`@`select#2`) NO_ICP(`t2`@`select#1`) */ into `test`.`t3` /* select#1 */ select `test`.`t2`.`c1` AS `c1` from `test`.`t1` join `test`.`t2` where ((`test`.`t1`.`c1` = `test`.`t2`.`c1`) and (`test`.`t1`.`c2` between 'a' and 'z'))
DROP VIEW v1, v2;
DROP TABLE t1, t2, t3;