mysql中的结构(mysql每日一讲)

                                             mysql的层次


1、server层
(1)连接器:mysql -hXX -uroot -pXXX 这样就连接上了
(2)分析器:通过识别关键字(select,from,group等)分析是否符合语法,做一层过滤,不满足条件则不往下走
(3)优化器:如果存在索引及join操作,到底用哪个索引,join的顺序等都是优化器来实现
(4)执行器:执行前会先判断是否有权限操作表,如果有,将结果返回
2、存储引擎层
目前有innoDB,myisam,memory,从5.5之后默认都是INnoDB

长连接:如果一个sql比较长(join的多,查询的多)那么这个sql就是长连接
短连接:一个sql很快就返回了结果。
长连接的优点:建立连接要耗费资源,长连接减少耗费
长连接缺点:由于mysql在执行过程中临时使用的内存(比如子查询,缓存起来的内存)都在连接对象中管理,索引长连接内存会越来越大,无法释放,甚至出现OOM
总结:长连接弊大于利,尽量避免长连接
从5.7之后,执行mysql_reset_connection,可以做到将一个长连接后迅速释放内存

查询缓存:8.0之后mysql取消了查询缓存,弊大于利,每次好不容易缓存的结果,只要对表做了更新,所有的缓存都消失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值