| Bug #85457 | Com_delete is different from statement/sql/select | ||
|---|---|---|---|
| Submitted: | 15 Mar 2017 8:40 | Modified: | 21 Mar 2017 0:34 |
| Reporter: | chong ge | Email Updates: | |
| Status: | Not a Bug | Impact on me: | |
| Category: | MySQL Server | Severity: | S3 (Non-critical) |
| Version: | MySQL5.6.35 - MySQL5.7.17 | OS: | Linux |
| Assigned to: | MySQL Verification Team | CPU Architecture: | Any |
| Tags: | SHOW GLOBAL STATUS; | ||
[20 Mar 2017 17:07]
MySQL Verification Team
Hi, The bugs system is not really a proper place to ask questions. You should do that trough MySQL Forum ( https://forums.mysql.com/ ) or trough MySQL Support system. Bugs system is for reporting bugs. Now as for your first "question", I need to check, I'm not able to reproduce this behavior. As for the second "question" - that is normal behavior. best regards Bogdan
[21 Mar 2017 0:34]
MySQL Verification Team
Hi,
The difference between com_delete and event name is that they are not both counting same things, so it's expected for them to not show same results..
for e.g. calling a delete from stored procedure will make them count differently
mysql> select event_name,count_star from performance_schema.events_statements_summary_global_by_event_name
-> where event_name in('statement/sql/select','statement/sql/update',
-> 'statement/sql/insert', 'statement/sql/delete');show global status where Variable_name in ('com_select','com_update','com_insert','com_delete');
+----------------------+------------+
| event_name | count_star |
+----------------------+------------+
| statement/sql/select | 59 |
| statement/sql/update | 0 |
| statement/sql/insert | 13 |
| statement/sql/delete | 8 |
+----------------------+------------+
4 rows in set (0.00 sec)
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_delete | 8 |
| Com_insert | 13 |
| Com_select | 60 |
| Com_update | 0 |
+---------------+-------+
4 rows in set (0.00 sec)
mysql> DELIMITER //
mysql> CREATE PROCEDURE tt()
-> BEGIN
-> delete from t1 where id=2;
-> END //
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;
mysql> call tt();
Query OK, 1 row affected (0.00 sec)
mysql> select event_name,count_star from performance_schema.events_statements_summary_global_by_event_name
-> where event_name in('statement/sql/select','statement/sql/update',
-> 'statement/sql/insert', 'statement/sql/delete');show global status where Variable_name in ('com_select','com_update','com_insert','com_delete');
+----------------------+------------+
| event_name | count_star |
+----------------------+------------+
| statement/sql/select | 63 |
| statement/sql/update | 0 |
| statement/sql/insert | 15 |
| statement/sql/delete | 9 |
+----------------------+------------+
4 rows in set (0.00 sec)
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_delete | 10 |
| Com_insert | 15 |
| Com_select | 64 |
| Com_update | 0 |
+---------------+-------+
4 rows in set (0.00 sec)

Description: version:5.6.35-log engine:innodb Question one: mysql-master56> select event_name,count_star from performance_schema.events_statements_summary_global_by_event_name where event_name in('statement/sql/select','statement/sql/update', 'statement/sql/insert', 'statement/sql/delete');show global status where Variable_name in ('com_select','com_update','com_insert','com_delete'); +----------------------+------------+ | event_name | count_star | +----------------------+------------+ | statement/sql/select | 129268 | | statement/sql/update | 162128 | | statement/sql/insert | 182464 | | statement/sql/delete | 3087 | +----------------------+------------+ 4 rows in set (0.00 sec) +---------------+----------+ | Variable_name | Value | +---------------+----------+ | Com_delete | 497 | | Com_insert | 182464 | | Com_select | 129268 | | Com_update | 162128 | +---------------+----------+ 4 rows in set (0.00 sec) In the same environment,why Com_delete is different from ‘statement/sql/delete’? How to repeat: Question two: version:5.7.17-log engine:innodb master: mysql-master57> select event_name,count_star from performance_schema.events_statements_summary_global_by_event_name where event_name in('statement/sql/select','statement/sql/update', 'statement/sql/insert', 'statement/sql/delete');show global status where Variable_name in ('com_select','com_update','com_insert','com_delete'); +----------------------+------------+ | event_name | count_star | +----------------------+------------+ | statement/sql/select | 12964578 | | statement/sql/update | 322522 | | statement/sql/insert | 292815 | | statement/sql/delete | 30921 | +----------------------+------------+ 4 rows in set (0.00 sec) +---------------+----------+ | Variable_name | Value | +---------------+----------+ | Com_delete | 30921 | | Com_insert | 292815 | | Com_select | 12964532 | | Com_update | 322522 | +---------------+----------+ 4 rows in set (0.01 sec) slave: mysql-slave57> select event_name,count_star from performance_schema.events_statements_summary_global_by_event_name where event_name in('statement/sql/select','statement/sql/update', 'statement/sql/insert', 'statement/sql/delete');show global status where Variable_name in ('com_select','com_update','com_insert','com_delete'); +----------------------+------------+ | event_name | count_star | +----------------------+------------+ | statement/sql/select | 303 | | statement/sql/update | 0 | | statement/sql/insert | 0 | | statement/sql/delete | 14 | +----------------------+------------+ 4 rows in set (0.00 sec) +---------------+--------+ | Variable_name | Value | +---------------+--------+ | Com_delete | 5491 | | Com_insert | 8071 | | Com_select | 304 | | Com_update | 105779 | +---------------+--------+ 4 rows in set (0.00 sec) A lot of difference in the results?