mirror of
https://github.com/MariaDB/server.git
synced 2025-08-30 11:22:14 +03:00
Bug #13117023: Innodb increments handler_read_key when it should not
The counter handler_read_key (SSV::ha_read_key_count) is incremented incorrectly. The mysql server maintains a per thread system_status_var (SSV) object. This object contains among other things the counter SSV::ha_read_key_count. The purpose of this counter is to measure the number of requests to read a row based on a key (or the number of index lookups). This counter was wrongly incremented in the ha_innobase::innobase_get_index(). The fix removes this increment statement (for both innodb and innodb_plugin). The various callers of the innobase_get_index() was checked to determine if anybody must increment this counter (if they first call innobase_get_index() and then perform an index lookup). It was found that no caller of innobase_get_index() needs to worry about the SSV::ha_read_key_count counter.
This commit is contained in:
@@ -3257,3 +3257,14 @@ Handler_update 1
|
||||
Variable_name Value
|
||||
Handler_delete 1
|
||||
DROP TABLE bug58912;
|
||||
create table t1 (f1 integer primary key) engine=innodb;
|
||||
flush status;
|
||||
show status like "handler_read_key";
|
||||
Variable_name Value
|
||||
Handler_read_key 0
|
||||
select f1 from t1;
|
||||
f1
|
||||
show status like "handler_read_key";
|
||||
Variable_name Value
|
||||
Handler_read_key 1
|
||||
drop table t1;
|
||||
|
Reference in New Issue
Block a user