mysql-一条sql的执行过程
1,登陆账号,链接上服务器。
2,取账号权限
3,(分析器)分析sql,是否符合语法。表名,是否存在,涉及表字段是否正确等等
4,(优化器)优化sql,是否需要使用索引。多个索引存在的情况下,哪个索引最合适。join 链接查询的话,先从哪个表开始比对等等
5,(执行器)查看是否有搜索涉及表的权限。执行sql。全表,或者索引树,一条一条比对下去
注意:账号权限在登陆时已经获取到了。登陆成功之后修改账号的密码不会影响已经建立链接的操作。
登陆账号之后建立了一个链接,链接长时间不使用的话,链接失效(wait_timeout 时间失效,默认8小时)。
长连接:链接查询了大数据之后,mysql占用内存会增大(查询的大数据存放在管理链接的对象内存中)。此处占用在链接断开的时候才会释放。
因此长时间使用长连接易出现OOM;
解决方案:定期断开长连接,或者判断执行过大数据查询之后断开
执行大数据查询之后 执行mysql_reset_connection。
短链接:每次执行完很少的几次链接就断开连接。
因建立连接的过程比较复杂,固不建议使用短链接
相关推荐
ribavnu 2020-11-16
liuweiq 2020-09-09
silencehgt 2020-09-07
sunnyxuebuhui 2020-09-07
西瓜皮儿的皮儿 2020-09-07
houdaxiami 2020-08-15
抱抱熊 2020-08-15
adsadadaddadasda 2020-07-19
ztyzly00 2020-07-18
sofast 2020-07-08
明月清风精进不止 2020-07-05
bluetears 2020-07-05
URML 2020-07-04
minggehenhao 2020-07-04
要啥自行车一把梭 2020-11-12
vitasfly 2020-11-12
康慧欣 2020-09-10
ILVNMM 2020-09-19
zycchun 2020-10-16