美文网首页
mysql查询过程

mysql查询过程

作者: 何甜甜在吗 | 来源:发表于2018-03-04 22:29 被阅读0次
    mysql查询流程图

    查询过程
    1)客户端首先通过客户端/服务器通信协议与mysql服务器建立起连接
    2)客户端发送一条sql语句
    判断是否为查询语句,如果是查询语句,则先在查询缓存区哈希查找对应sql的数据,如果查询之前已经执行过了,则将会命中缓存,返回对应的数据,否则将继续执行3) 4) 5) 6)
    查询缓存位于本机内存中,这样如果命中了缓存,就不需要从磁盘查询数据了,从内存查询的效率要比从磁盘查询的效率高
    3)第一次解析 检查解析的sql是否有语法错误
    4)第二次解析 检查解析的sql的表名、字段名是否正确
    5)查询优化器生成执行计划,查询优化器的作用是为sql语句选取合适的索引或者不使用索引
    查询优化器中也有缓存(cache),会缓存sql语句的执行计划,当然执行计划会随着表结构和表数据的变化而变化,这时,这个执行计划将失效(evict)。在进行sql执行过程中,系统自动优化的方式有时候并不是最优的,这就需要我们强制使用指定索引来提高查询效率
    eg:

    select * from table force index(index_name)
    

    6)将执行计划交给存储引擎执行
    7)将查询到的结果缓存到查询缓存中,在从查询缓存中返回数据给客户端

    相关文章

      网友评论

          本文标题:mysql查询过程

          本文链接:https://www.haomeiwen.com/subject/gliqfftx.html