File: materialize_cost.result

package info (click to toggle)
mysql-8.0 8.0.43-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,924 kB
  • sloc: cpp: 4,684,605; ansic: 412,450; pascal: 108,398; java: 83,641; perl: 30,221; cs: 27,067; sql: 26,594; sh: 24,181; python: 21,816; yacc: 17,169; php: 11,522; xml: 7,388; javascript: 7,076; makefile: 2,194; lex: 1,075; awk: 670; asm: 520; objc: 183; ruby: 97; lisp: 86
file content (60 lines) | stat: -rw-r--r-- 2,471 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
CREATE TABLE t1(i INT, j INT);
INSERT INTO t1 VALUES (0,0),(1,1),(2,2),(3,3),(4,4);
ANALYZE TABLE t1;
Table	Op	Msg_type	Msg_text
test.t1	analyze	status	OK
#
# Bug#34302461: EXPLAIN cost and row estimates are wrong for UNION
#
EXPLAIN FORMAT=TREE SELECT i FROM t1 UNION SELECT 7 ORDER BY i;
EXPLAIN
-> Sort: i  (cost=6.08..6.08 rows=6)
    -> Table scan on <union temporary>  (cost=1.78..3.93 rows=6)
        -> Union materialize with deduplication  (cost=1.35..1.35 rows=6)
            -> Table scan on t1  (cost=0.75 rows=5)
            -> Rows fetched before execution  (cost=0..0 rows=1)

EXPLAIN FORMAT=TREE SELECT * FROM (SELECT i FROM t1 UNION SELECT 7) d1
ORDER BY i;
EXPLAIN
-> Sort: d1.i  (cost=6.08..6.08 rows=6)
    -> Table scan on d1  (cost=1.78..3.93 rows=6)
        -> Union materialize with deduplication  (cost=1.35..1.35 rows=6)
            -> Table scan on t1  (cost=0.75 rows=5)
            -> Rows fetched before execution  (cost=0..0 rows=1)

EXPLAIN FORMAT=TREE SELECT * FROM t1 UNION SELECT * FROM t1 ORDER BY i;
EXPLAIN
-> Sort: i  (cost=9.45..9.45 rows=10)
    -> Table scan on <union temporary>  (cost=2.76..5.12 rows=10)
        -> Union materialize with deduplication  (cost=2.5..2.5 rows=10)
            -> Table scan on t1  (cost=0.75 rows=5)
            -> Table scan on t1  (cost=0.75 rows=5)

EXPLAIN FORMAT=TREE SELECT * FROM (SELECT * FROM t1 UNION SELECT * FROM t1)
d1 ORDER BY i;
EXPLAIN
-> Sort: d1.i  (cost=9.45..9.45 rows=10)
    -> Table scan on d1  (cost=2.76..5.12 rows=10)
        -> Union materialize with deduplication  (cost=2.5..2.5 rows=10)
            -> Table scan on t1  (cost=0.75 rows=5)
            -> Table scan on t1  (cost=0.75 rows=5)

#
# Bug#33834146: 'EXPLAIN ANALYZE' cost + elapsed time not cumulative
# when using materialization
#
EXPLAIN FORMAT=TREE INSERT INTO t1 SELECT MAX(i), 3 FROM
(SELECT * FROM t1 ORDER BY j LIMIT 5) AS d1;
EXPLAIN
-> Insert into t1
    -> Aggregate: max(t1.i)  (cost=7.38..7.38 rows=1)
        -> Table scan on <temporary>  (cost=4.83..6.88 rows=5)
            -> Temporary table  (cost=4.31..4.31 rows=5)
                -> Table scan on d1  (cost=1.76..3.81 rows=5)
                    -> Materialize  (cost=1.25..1.25 rows=5)
                        -> Limit: 5 row(s)  (cost=0.75 rows=5)
                            -> Sort: t1.j, limit input to 5 row(s) per chunk  (cost=0.75 rows=5)
                                -> Table scan on t1  (cost=0.75 rows=5)

DROP TABLE t1;