mysql-一条sql的执行过程
Posted 影落
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql-一条sql的执行过程相关的知识,希望对你有一定的参考价值。
1,登陆账号,链接上服务器。
2,取账号权限
3,(分析器)分析sql,是否符合语法。表名,是否存在,涉及表字段是否正确等等
4,(优化器)优化sql,是否需要使用索引。多个索引存在的情况下,哪个索引最合适。join 链接查询的话,先从哪个表开始比对等等
5,(执行器)查看是否有搜索涉及表的权限。执行sql。全表,或者索引树,一条一条比对下去
注意:账号权限在登陆时已经获取到了。登陆成功之后修改账号的密码不会影响已经建立链接的操作。
登陆账号之后建立了一个链接,链接长时间不使用的话,链接失效(wait_timeout 时间失效,默认8小时)。
长连接:链接查询了大数据之后,mysql占用内存会增大(查询的大数据存放在管理链接的对象内存中)。此处占用在链接断开的时候才会释放。
因此长时间使用长连接易出现OOM;
解决方案:定期断开长连接,或者判断执行过大数据查询之后断开
执行大数据查询之后 执行mysql_reset_connection。
短链接:每次执行完很少的几次链接就断开连接。
因建立连接的过程比较复杂,固不建议使用短链接
以上是关于mysql-一条sql的执行过程的主要内容,如果未能解决你的问题,请参考以下文章