MySQL Status Qcache_queries_in_cache 数据库状态作用意思及如何正确
本站中文解释
:查询语句缓存中的命令数。
MySQL status 状态变量指示 MySQL server 内部运行状态的许多属性,用户可以通过查询状态变量来诊断MySQL server 是否正常运行,查看MySQL server 及其内部应用的运行情况,以及评估MySQL server 总体性能。通常情况下,status 变量是静态的,但有一些变量会随着 MySQL 的使用情况而改变,用于反映MySQL server 的运行状态。
MySQL 状态变量分为计数和布尔变量,主要分为以下几部分:
1. 服务器层变量:该部分主要由 server 变量组成,可以用来查看MySQL 服务器的运行状态,以及确定当前MySQL 服务器的运行状态,统计MySQL 服务器查询的次数和执行时间以及检查一些全局配置信息等。
2. 内存计数变量:主要由缓存中的变量组成,用来统计在系统内存中每个正在运行的线程的信息。
3. 索引计数变量:主要由InnoDB 存储引擎变量组成,用来统计InnoDB 存储引擎内部每个索引的 i/o 操作次数和命中次数。
4. 系统变量:主要由系统变量组成,用来记录系统内部当前运行状态,并允许一些应用和管理程序可以查看系统内部当前运行状态。
MySQL status变量可以通过如下几种方式来设置:
1. 通过命令行:MySQL 可以通过SET GLOBAL或者SET SESSION命令,来查询 MySQL 状态变量,并可以查看当前正在执行的 MySQL 语句、查询次数、事务次数、表扫描次数等MySQL server 内部运行状态的信息。
2. 通过 function 查询变量:MySQL 可以通过 Show Status 或 Show Variables 来查询状态变量的值,因为它们的返回值必须要在语句执行结束后才能得到。
3. 通过 system 函数:MySQL 提供了 system 函数,用来给客户端搜索以及诊断服务器上MySQL server 信息,并可以获取到一些状态变量的值,如:threads、processlist 等。
4. 通过 proc 文件系统:MySQL 会将状态变量的值都注册到proc 文件系统,用户可以通过 /proc/mysql/ 目录下的文件查看服务器上 MySQL status 变量的值。
通过以上四种方式,用户可以查看MySQL server 内部状态变量的值,以及有效调整MySQL server 内部状态的变量,以改进MySQL server 的性能。
最后,用户可以通过REST API来设置MySQL status变量。根据具体的MySQL REST API,用户可以编写任何类型的应用来控制和监控MySQL server,可以设置MySQL status 变量,也可以读取MySQL status 变量的值。