File: index_stat_partitions.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 (127 lines) | stat: -rw-r--r-- 3,812 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
set @is_enable_default = @@global.ndb_index_stat_enable;
set @is_enable = 1;
set @is_enable = NULL;
# is_enable_on=0 is_enable_off=0
# ndb_index_stat_enable - before
show global variables like 'ndb_index_stat_enable';
Variable_name	Value
ndb_index_stat_enable	ON
show local variables like 'ndb_index_stat_enable';
Variable_name	Value
ndb_index_stat_enable	ON
# ndb_index_stat_enable - after
show global variables like 'ndb_index_stat_enable';
Variable_name	Value
ndb_index_stat_enable	ON
show local variables like 'ndb_index_stat_enable';
Variable_name	Value
ndb_index_stat_enable	ON
create table record_in_range(no int primary key auto_increment,
query varchar(256), part_count int, 
explain_rows int, count_rows int) engine = innodb;
CREATE TABLE t1(
K INT NOT NULL AUTO_INCREMENT,
I INT,
J INT,
L INT,
PRIMARY KEY(K),
KEY(I,J),
KEY(L)
) ENGINE=ndbcluster
partition by key (K) partitions 1;
INSERT INTO t1(I,J,L) VALUES
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(0,0,0);
INSERT INTO t1(I,J,L) SELECT I,1,I FROM t1;
INSERT INTO t1(I,J,L) SELECT I,2,I FROM t1;
INSERT INTO t1(I,J,L) SELECT I,3,I FROM t1;
INSERT INTO t1(I,J,L) SELECT I,4,I FROM t1;
INSERT INTO t1(I,J,L) SELECT I,5,I FROM t1;
INSERT INTO t1(I,J,L) SELECT I,6,I FROM t1;
INSERT INTO t1(I,J,L) SELECT I,7,I FROM t1;
INSERT INTO t1(I,J,L) SELECT I,8,I FROM t1;
INSERT INTO t1(I,J,L) SELECT I,9,I FROM t1;
select i, count(*) from t1 group by 1 order by 1;
i	count(*)
0	512
1	512
2	512
3	512
4	512
5	512
6	512
7	512
8	512
9	512
select l, count(*) from t1 group by 1 order by 1;
l	count(*)
0	512
1	512
2	512
3	512
4	512
5	512
6	512
7	512
8	512
9	512
ANALYZE TABLE t1;
Table	Op	Msg_type	Msg_text
test.t1	analyze	status	OK
Table	Op	Msg_type	Msg_text
test.t1	analyze	status	OK
select distinct 
substring(rr.query from INSTR(rr.query, 'WHERE')) as 'WHERE', 
count_rows, 
p1.val as p1_val, 
if(p8.err_pct is not null and abs(p8.err_pct)<45,'-',p8.val) p8_val,
case when p1.err_pct is null then '-' when abs(p1.err_pct)<45 then '<45' else p1.err_pct end p1_err_pct,
case when p8.err_pct is null then '-' when abs(p8.err_pct)<45 then '<45' else p8.err_pct end p8_err_pct
from record_in_range rr,
(select query, explain_rows as val, if(count_rows>0,floor(100*(explain_rows - count_rows) / count_rows),NULL) err_pct
from record_in_range p where part_count = 1) p1,
(select query, explain_rows as val, if(count_rows>0,floor(100*(explain_rows - count_rows) / count_rows),NULL) err_pct
from record_in_range p where part_count = 8) p8
where rr.query = p1.query
and rr.query = p8.query
order by rr.no;
WHERE	count_rows	p1_val	p8_val	p1_err_pct	p8_err_pct
WHERE i = 10	0	2	2	-	-
WHERE i = 9	512	512	-	<45	<45
WHERE i = 8	512	512	-	<45	<45
WHERE i = 7	512	512	-	<45	<45
WHERE i = 6	512	512	-	<45	<45
WHERE i = 5	512	512	-	<45	<45
WHERE i = 4	512	512	-	<45	<45
WHERE i = 3	512	512	-	<45	<45
WHERE i = 2	512	512	-	<45	<45
WHERE i = 1	512	512	-	<45	<45
WHERE l = 10	0	2	2	-	-
WHERE l = 9	512	512	-	<45	<45
WHERE l = 8	512	512	-	<45	<45
WHERE l = 7	512	512	-	<45	<45
WHERE l = 6	512	512	-	<45	<45
WHERE l = 5	512	512	-	<45	<45
WHERE l = 4	512	512	-	<45	<45
WHERE l = 3	512	512	-	<45	<45
WHERE l = 2	512	512	-	<45	<45
WHERE l = 1	512	512	-	<45	<45
DROP TABLE t1, record_in_range;
End of 5.1 tests
set @is_enable = @is_enable_default;
set @is_enable = NULL;
# is_enable_on=0 is_enable_off=0
# ndb_index_stat_enable - before
show global variables like 'ndb_index_stat_enable';
Variable_name	Value
ndb_index_stat_enable	ON
show local variables like 'ndb_index_stat_enable';
Variable_name	Value
ndb_index_stat_enable	ON
# ndb_index_stat_enable - after
show global variables like 'ndb_index_stat_enable';
Variable_name	Value
ndb_index_stat_enable	ON
show local variables like 'ndb_index_stat_enable';
Variable_name	Value
ndb_index_stat_enable	ON