MySQL---概论

 

下面是MySQL 的基本架构示意图:

 

    server层:

             连接器:

                    建立连接,假设你用管理员账号对这个用户的权限做了修改,也不会影响已经存在连接的权限,只有再新建的连接才会使用新的权限设置。

              查询缓存:

                      MySQL 拿到一个查询请求后,会先到查询缓存看看,之前是不是执行过这条语句。大多数情况下我会建议你不要使用查询缓存。为什么呢?后面讲。

              分析器:

                     对SQL进行语法分析和词法分析。

               优化器:

                     在表里面有多个索引的时候,决定使用哪个索引;或者在一个语句有多表关联时,决定各个表的连接顺序。

                执行器:

                      检查有没有执行查询的权限,如果没有,就会返回没有权限的错误,如果有,就继续执行。

      存储引擎层:

                   负责数据的存储和提取。

为什么不建议开启查询缓存呢?

      因为查询缓存往往弊大于利。只要有对一个表的更新,这个表上所有的查询缓存都会被清空,查询缓存的失效非常频繁。因此很可能你还没使用呢,就被一个更新全清空了。对于更新压力大的数据库来说,查询缓存的命中率会非常低。除非你的业务就是有一张静态表,很长时间才会更新一次。比如,一个系统配置表,那这张表上的查询才适合使用查询缓存。 MySQL 8.0 版本直接将查询缓存的整块功能删掉了,也就是说 8.0 开始彻底没有这个功能了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值