·14·图2-4学生选课与教师授课之间的ER图2.2.3SQL执行流程当在MySQL命令行中输入SQL语句并执行时,SQL语句需要在MySQL内部经过一系列的流程,才能将数据操作或查询结果返回给客户端,这一流程可以简化,如图2-5所示。由图2-5可知,当向MySQL发出SQL请求时,一般会经历如下流程。(1)客户端发送一条SQL语句给MySQL服务器。(2)MySQL服务器先检查查询缓存,如果查询缓存中存在待查询的结果数据,则会立刻返回查询缓存中的结果数据,否则执行下一阶段的处理。(3)MySQL服务器通过解析器和预处理器对SQL语句进行解析和预处理,并将生成的SQL语句解析树传递给查询优化器。(4)查询优化器将SQL解析树进行进一步处理,生成对应的执行计划。(5)MySQL服务器根据查询优化器生成的执行计划,通过查询执行引擎调用存储引擎的API来执行查询操作。图2-5SQL语句执行流程