Mysql源代码阅读笔记(一) 系统变量和系统状态变量

阅读Mysql源代码的过程中,我们要面对很多服务器系统变量和系统状态:


                                                                                                                             系统变量


(一)线程相关


thread_cache_size:


thread_concurrency:


thread_handling:


thread_stack:


(二)其他

init_connect:

A string to be executed by the server for each client that connects. The string consists of one or more SQL statements, separated by semicolon characters.


auto_commit:

是否自动提交,默认是开启的。当你执行完一个更新时,MySQL 将立刻将更新存储到磁盘上。  

在命令行中输入set   autocommit   =   0;能暂时解决这个问题,但是,一旦重新启动mysql,mysql 又默认的 autocommit=1;

也可以在my.ini 中设置,或者mysqld启动时加变量autocommit。

[mysqld]

init_connect= 'SET   AUTOCOMMIT=0 ' 


back_log

是要求MySQL能有的连接数量。

当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。

back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。

如果期望在一个短时间内有很多连接,你需要增加它。

也就是说,如果MySql的连接数据达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源。

另外,这值(back_log)限于您的操作系统对到来的TCP/IP连接的侦听队列的大小。

你的操作系统在这个队列大小上有它自己的限制(可以检查你的OS文档找出这个变量的最大值),试图设定back_log高于你的操作系统的限制将是无效的。


(三)binlog



                                                                                                                       系统状态变量


(一)线程

Threads_cached :代表当前此时此刻线程缓存中有多少空闲线程。

Threads_connected :代表当前已建立连接的数量,因为一个连接就需要一个线程,所以也可以看成当前被使用的线程数。

Threads_created :代表从最近一次服务启动,已创建线程的数量。

Threads_running :代表当前激活的(非睡眠状态)线程数。并不是代表正在使用的线程数,有时候连接已建立,但是连接处于sleep状态,这里相对应的线程也是sleep状态。


(二)查询缓冲



(三)COM_前缀的状态变量

记录命令执行的次数。











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值