2select语句执行过程缓存&语法解析和预处理(Parser&Preprocessor)

database

1.缓存

MySQL 的缓存默认是关闭的,8.0直接去掉了缓存模块

show variables like "query_cache%"

2.语法解析

从这个最简单的sql语句说起

select name from user_info where id = 1; and age>20

解析树 select_lex

任何数据库的中间件,比如 Mycat,Sharding-JDBC(用到了 Druid Parser),都必须要有词法和语法分析功能,在市面上也有很多的开源的词法解析的工具(比如 LEX,Yacc)。

3. 预处理

解析 SQL 的环节里面有个预处理器。

它会检查生成的解析树,解决解析器无法解析的语义。比如,它会检查表和列名是否存在,检查名字和别名,保证没有歧义。

预处理之后得到一个新的解析树。

以上是 2select语句执行过程缓存&语法解析和预处理(Parser&Preprocessor) 的全部内容, 来源链接: utcz.com/z/534780.html

回到顶部