电子商务网站开发与应用论文,58同城北京网站建设,自建网站的好处,企业信用信息查询公示系统河北MySQL中数据库表的监控
#xff08;1#xff09;查看数据库中当前打开了哪些表#xff1a;show OPEN TABLES #xff0c;如图6-1-5所示。另外#xff0c;还可以通过show OPEN TABLES where In_use 0过滤出当前已经被锁定的表。 查看数据库中表的状态#xff1a;SHO… MySQL中数据库表的监控
1查看数据库中当前打开了哪些表show OPEN TABLES 如图6-1-5所示。另外还可以通过show OPEN TABLES where In_use 0过滤出当前已经被锁定的表。 查看数据库中表的状态SHOW STATUS LIKE %table%如图6-1-6所示。需要特别注意的是Table_locks_waited 指的是不能立即获取表级锁而需要等待的次数。如果等待的次数非常大则说明可能存在锁争抢的情况如果是频繁的出现锁争抢则对应用程序的并发性能影响很大。 查看数据库中锁的信息SHOW STATUS LIKE %lock%如图6-1-7所示。
4查看数据库中的表被扫描的情况show global status like handler_read%如图6-1-8所示。 查询的结果数据也可以用来评估数据库中索引的使用情况。查询的结果数据说明如下所示。
Handler_read_first从索引中读取第一项的次数。如果该值非常高表明服务器正在执行大量的全索引扫描。该值一般不宜太高。Handler_read_key基于键读取数据行的请求数。该值如果越高则表明大量的查询都使用了索引如果越低表示索引的利用很低。该值一般越高越好。Handler_read_last读取索引中最后一个键的请求数。Handler_read_next按键顺序读取下一行的请求数。如果查询都走了索引那么该值将不断递增。Handler_read_prev按键顺序读取前一行的请求数倒序读取数据。一般用于评估执行ORDER BY … DESC的次数。Handler_read_rnd基于固定位置读取数据行的请求数。如果正在执行大量的、需要对查询结果进行排序的查询则此值很高。如果该值很高则可能存在很多查询需要进行整表扫描或者查询时一些表的关联连接没有正确使用主键或者索引。Handler_read_rnd_deleted从数据库数据文件中读取被删除记录行的请求数。Handler_read_rnd_next从数据库数据文件中读取下一行的请求数。如果SQL语句执行大量表扫描则此值很高。如果该值很高一般说明表没有正确添加索引或者SQL语句没有通过索引来查询。
本文节选自《软件性能测试、分析与调优实践之路第2版》获作者和出版社授权发布。