目录
查询过程
用户在页面发起一个查询订单列表的请求,项目部署在Tomcat中,Tomcat中的线程接收到用户的请求,然后把请求转发给项目,项目会根据代码去数据库中查询订单的数据,不管是使用原生的JDBC、还是Mybatis、Hibernate等框架,其底层都是先获取一个JDBC连接,通过JDBC和数据库建立连接,然后到MYSQL数据库中执行sql语句。在MYSQL数据库中是如何执行一个sql语句的,如下图:
MYSQL中,也会有线程获取到JDBC连接中的sql语句,然后去执行,线程会把sql语句交给MYSQL中的sql接口,sql接口会转发给sql解析器去解析,比如sql解析器会把一条sql语句中的表名称、WHERE关键字后面的查询条件、以及具体查询哪些字段等信息都解析出来,然后把解析好的信息交给查询优化器处理。
查询优化器会根据sql解析器解析好的sql语句信息,选择一个效率最高的处理方案,来作为执行sql语句的执行计划ÿ