mysql和什么一起学_《一起学mysql》一、开篇

mysql作为一个开源的关系型数据库,融合了这个社会的缩影。

​ 我们在看护下成长或独自生根发芽、解决生活的烦恼,然后组成另一个家庭。也会在社会中由一席之地。

个体

家庭(数据库)中每个人都有着重要的任务:

连接器:连接器要管理链接,权限验证。

查询缓存:命中数据直接返回,但是听说老了退休了。

分析器:分析器词法分析,语法分析。

优化器:优化器确定最后的执行计划,并挑选出执行索引。

执行器:执行器操作存储引擎,返回操作结果。

他们就像一个工厂中的流水线工人,将客人(客户端)的订单(请求)顺序执行,然后放入机器(存储引擎)。

家庭

家庭(数据库)协作很重要,每个人都不可替代连接器

第一步,用户会先和这个家庭建立联系,这个时候对外的是连接器,连接器负责和用户建立联系,校验权限,维持和管理双方的联系。

一般会写出这样一封信:

java mysql -h$ip -P$port -u$user -p

当双方建立通信(TCP握手)后,连接器就会确认对方信息,如果发现不是授权用户,就会返回一个“Access denied for user”。

连接器也会思考和用户的通信状态,比如确定自己是否是空闲的,如果空闲就竖起一个“sleep”的牌子,但是一旦休息超过8小时时(默认值),就主动断开和这个用户的通信。如果客户在断开后再次请求连接,就会收到一个“Lost connection to MySQL server during query。”的回信,告知通信已经断开。

连接器一直在思考到底应该要和客户建立多久的连接才是合理的,他希望相对高效的完成自己的任务。如果一直不断开,那么就无法接待下一位客户,明显是不合理的;如果时间太短,会导致权限和连接浪费性能和时间。

零时方案就是定期的断开大连接,这样消耗减少了很多。

推陈出新的连接器在第5.7版本拿出了这样一个解决方式:每次在大操作(时间,空间)后,让连接初始化(释放内存),因为相互通信没有断,那么久可以不用建立连接和校验了。查询缓存

建立完连接后,我们来到了第二部,访问查询缓存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值