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:
None 
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;

[15 Mar 2017 8:40] chong ge
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?
[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)