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
|
####################################
# SETUP
####################################
CREATE DATABASE statements_digest;
USE statements_digest;
CREATE TABLE t1(a int);
CREATE TABLE t2(a int);
CREATE TABLE t3(a int, b int);
CREATE TABLE t4(a int, b int);
CREATE TABLE t5(a int, b int, c int);
SELECT * FROM performance_schema.setup_consumers;
NAME ENABLED
events_stages_current YES
events_stages_history YES
events_stages_history_long YES
events_statements_current NO
events_statements_history YES
events_statements_history_long YES
events_waits_current YES
events_waits_history YES
events_waits_history_long YES
global_instrumentation YES
thread_instrumentation YES
statements_digest YES
TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
####################################
# EXECUTION
####################################
SELECT 1 FROM t1;
1
SELECT 1 FROM `t1`;
1
SELECT 1,2 FROM t1;
1 2
SELECT 1, 2, 3, 4 FROM t1;
1 2 3 4
SELECT 1 FROM t2;
1
SELECT 1,2 FROM t2;
1 2
SELECT 1, 2, 3, 4 FROM t2;
1 2 3 4
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1);
INSERT INTO t3 VALUES (1, 2);
INSERT INTO t4 VALUES (1, 2);
INSERT INTO t5 VALUES (1, 2, 3);
INSERT INTO t1 VALUES (1), (2), (3);
INSERT INTO t1 VALUES (1), (2), (3), (4);
INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
SELECT 1 + 1;
1 + 1
2
SELECT 1;
1
1
SELECT 1 /* This is an inline comment */ + 1;
1 /* This is an inline comment */ + 1
2
SELECT 1+
/*
this is a
multiple-line comment
*/
1;
1+
/*
this is a
multiple-line comment
*/
1
2
CREATE SCHEMA statements_digest_temp;
DROP SCHEMA statements_digest_temp;
CREATE DATABASE statements_digest_temp;
DROP DATABASE statements_digest_temp;
SELECT 1 from t11;
ERROR 42S02: Table 'statements_digest.t11' doesn't exist
create table t11 (c char(4));
create table t11 (c char(4));
ERROR 42S01: Table 't11' already exists
insert into t11 values("MySQL");
Warnings:
Warning 1265 Data truncated for column 'c' at row 1
####################################
# QUERYING PS STATEMENT DIGEST
####################################
SELECT digest, digest_text, count_star FROM performance_schema.events_statements_summary_by_digest;
digest digest_text count_star
d238cb191361f39845a6adb2961f5501 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1
85d75a1b361e6afe5460639bddfc88ed SELECT ? FROM t1 1
83d5ef3dc373ad216098b07c72e61063 SELECT ? FROM `t1` 1
ea6492426a33544a059bc12766c5ba3d SELECT ?, ... FROM t1 2
c050a704c0817ec2865ead136ceea6ec SELECT ? FROM t2 1
a98062477bd693dacfc0df96c68c5585 SELECT ?, ... FROM t2 2
72470fa90a09ac60fb0ab822a3d6ade0 INSERT INTO t1 VALUES (?) 1
3f5fd5225f11e3e8d5e8bda8ee6c1546 INSERT INTO t2 VALUES (?) 1
2057d54e44b8760b5414781df21e53e5 INSERT INTO t3 VALUES (...) 1
b6becf79cc1c5b9faf07bcd4680e87d1 INSERT INTO t4 VALUES (...) 1
7d68bb708120922be9668e8c29b2ba7e INSERT INTO t5 VALUES (...) 1
16760e44bae66c003e39919411b8adbb INSERT INTO t1 VALUES (?) /* , ... */ 2
29df714911c3f9b83460385a21b5386d INSERT INTO t3 VALUES (...) /* , ... */ 1
5504ad628fc868be29157ccf556c6175 INSERT INTO t5 VALUES (...) /* , ... */ 1
0babf2f70315be35a2a9ad6d3d800960 SELECT ? + ? 3
060c9d59b5b13bc4ec6188ec4f2822b1 SELECT ? 1
bce3f7384ae2ab78354b031184fde12d CREATE SCHEMA statements_digest_temp 2
2a0e36afeaac85dc117c3856388a4fae DROP SCHEMA statements_digest_temp 2
8761fd6b83357bdd00acd0b301cd1d43 SELECT ? FROM t11 1
2707097430c8f6e7b8c60d15d1f3ff9a CREATE TABLE t11 ( c CHARACTER (?) ) 2
503e81940feaf05afaafc435903f6bc3 INSERT INTO t11 VALUES (?) 1
cb0f8f969018eb9b6019e9fe069f6e2a SHOW WARNINGS 1
SELECT digest, digest_text FROM performance_schema.events_statements_current;
digest digest_text
####################################
# CLEANUP
####################################
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t3;
DROP TABLE IF EXISTS t4;
DROP TABLE IF EXISTS t5;
DROP DATABASE IF EXISTS statements_digest;
|