您的位置:宽带测速网 > mysql教程 > 怎么理解show status的计数器

怎么理解show status的计数器

2025-06-24 07:59来源:互联网 [ ]

show status看到的结果大部分为计数器的格式,可以显示某些活动的频繁程度,没有时间的概念,时间的方差可以看pt-query-digest工具。包括句柄计时器handler counter、临时文件、表计数器等。下面为高性能MYSQL的例子,测试库是样本库sakila:

点击(此处)折叠或打开

    flush status;

    select * from sakila.nicer_but_slower_film_list;

    show status where variable_name like 'Handler%' or Variable_name like 'Created%'

点击(此处)折叠或打开

    +----------------------------+-------+

    | Variable_name | Value |

    +----------------------------+-------+

    | Created_tmp_disk_tables | 2 |

    | Created_tmp_files | 0 |

    | Created_tmp_tables | 3 |

    | Handler_commit | 1 |

    | Handler_delete | 0 |

    | Handler_discover | 0 |

    | Handler_external_lock | 10 |

    | Handler_mrr_init | 0 |

    | Handler_prepare | 0 |

    | Handler_read_first | 1 |

    | Handler_read_key | 7478 |

    | Handler_read_last | 0 |

    | Handler_read_next | 6462 |

    | Handler_read_prev | 0 |

    | Handler_read_rnd | 5462 |

    | Handler_read_rnd_next | 6478 |

    | Handler_rollback | 0 |

    | Handler_savepoint | 0 |

    | Handler_savepoint_rollback | 0 |

    | Handler_update | 0 |

    | Handler_write | 6459 |

    +----------------------------+-------+

Created_tmp_disk_tables表示使用了2个磁盘临时表
Created_tmp_files
Created_tmp_tables表示使用了3个临时表
Handler_commit表示1个内部提交语句
Handler_delete
Handler_discover
Handler_external_lock
Handler_mrr_init
Handler_prepare
Handler_read_first表示索引中第一条被执行的数量,如果较高,表示服务器正执行大量全索引扫描
Handler_read_key表示根据键读一行的请求数,如果较高,说明查询和表的索引正确
Handler_read_last
Handler_read_next按照键顺序读下一行的请求数。如果你用范围约束或如果执行索引扫描来查询索引列,该值增加
Handler_read_prev
Handler_read_rnd表示根据固定位置读一行的请求数。如果你正执行大量查询并需要对结果进行排序该值较高。你可能使用了大量需要MySQL扫描整个表的查询或你的连接没有正确使用键
Handler_read_rnd_next表示在数据文件中读下一行的请求数。如果你正进行大量的表扫描,该值较高。通常说明你的表索引不正确或写入的查询没有利用索引
Handler_rollback
Handler_savepoint
Handler_savepoint_rollback
Handler_update
Handler_write表示在表内插入一行的请求数