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的执行过程的主要内容,如果未能解决你的问题,请参考以下文章

MySQL之SQL语句执行过程

MySQL之SQL语句执行过程

MySQL之SQL语句执行过程

详解一条 SQL 的执行过程

MySQL一条SQL语句的执行过程是怎么完成的?

MySQL一条 SQL 的执行过程详解