zoukankan      html  css  js  c++  java
  • MySQL中的语法怎么执行的

    对于测试行业的小伙伴来说,看到“select * from table where ...”应该再熟悉不过了,那么是否明白这个语句到底是怎么执行的呢?

    首先要明白这个语句是由客户端向服务器发送的,那么服务器中是由负载均衡(Nginx)接收后分配给到了Tomcat,其次Tomcat才会从mysql中捞取数据

    下面说下mysql中到底是怎么的运行规则,上图:

     通过这个图大家应该可以看出基本的步骤了,下面详细说下

    1、客户端发起一个查询请求后会经过连接器和mysql进行连接

    2、查询缓存,如果在缓存中查找到了数据那么就会直接返回,如果没有查询到,那么就会到解析器,这里说明下缓存中的数据,只要表一更新,那么缓存中的数据就会清空

    3、解析器会对这条sql语句进行解析,判断是否有语句错误,如果错误则返回错误,如果正就到优化器

    4、经过了解析器之后,mysql就知道你想要怎么做了,那么就会到优化器中进行优化,具体怎么执行才会更加高效,比如表中有哪些索引,应该怎么用这些索引,多表连接查询的表顺序等

    5、通过优化器之后,就会到执行器,执行器就会检查权限,如果权限不通过则会返回对应错误,其次会想搜索引擎索要数据,返回的数据如果设置的缓存那么就会放到缓存中

    以上就是整个的搜索过程了,欢迎各位同行指正

  • 相关阅读:
    Android调用Camera API 拍照导致图片变形
    [转]Android PorterDuff.Mode效果
    Android视频录制
    Android调用Camera API 拍照
    Android调用系统拍照
    android:windowIsTranslucent影响Activity生命周期onStop
    ProgressBar自定义之后图片拉伸的解决办法
    android开源ORM框架OrmLite使用教程
    AutoCompleteTextView源码分析
    Android App安全加固
  • 原文地址:https://www.cnblogs.com/LCboss/p/13095508.html
Copyright © 2011-2022 走看看