先看一下MySQL的逻辑架构图吧
查询语句:
1、 先检查该语句是否有权限
2、 如果没有权限,直接返回错误信息
3、 如果有权限,在MySQL8.0版本以前,会先查询缓存。
4、 如果没有缓存,分析器进行词法分析,提取sql语句select等的关键元素。然后判断sql语句是否有语法错误,比如关键词是否正确等等。
5、 优化器进行确定执行方案
6、 进行权限校验,如果没有权限就直接返回错误信息,如果有权限就会调用数据库引擎接口,返回执行结果。
Was this helpful?
0 / 0