您的位置:首页 > 数据库 > MySQL

Mysql查询数据IO次数如何计算

2018-03-16 09:27 1891 查看
io次数与数据是否在buffer中、行在磁盘上的组织形式、是否利用索引都有关。
当索引是InnoDB时,参数列表:
Innodb_data_reads数据读请求量数量,包含 dic ,data,undo
Innodb_data_writes数据写请求量数量,包含 dic ,data,undo
Innodb_dblwr_writes 双写请求数
Innodb_log_writes 日志redo写请求数
计算IO公式:
Innodb_data_reads + Innodb_data_writes + Innodb_dblwr_writes + Innodb_log_writes
当索引是MyISAM时
计算公式:
Key_reads  * 2 +  Key_writes * 2 + Key_read_requests

命令行输入查询:
set profiling=1;
select * from tb;
...
...
show profile block io for query N;(适用5.1以上版本)
其他版本:
在开始前执行
flush status;
yoursql;
show status;
有很多状态变量可以查看,如:
Bytes_received
Bytes_sent
Last_query_cost 这个值*4k 就是随机读取的数据量,也就是IO次数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: