2 select语句执行过程-缓存& 语法解析和预处理(Parser & Preprocessor)「终于解决」

2 select语句执行过程-缓存& 语法解析和预处理(Parser & Preprocessor)「终于解决」1.缓存 MySQL 的缓存默认是关闭的,8.0直接去掉了缓存模块 show variables like 'query_cache%' 2.语法解析 从这个最简单的sql语句说…

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

1.缓存

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

show variables like "query_cache%"

代码100分

2.语法解析

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

代码100分select name from user_info where id = 1; and age>20

解析树 select_lex

2 select语句执行过程-缓存& 语法解析和预处理(Parser & Preprocessor)「终于解决」 任何数据库的中间件,比如 Mycat,Sharding-JDBC(用到了 Druid Parser),都必须要有词法和语法分析功能,在市面上也有很多的开源的词法解析的工具(比如 LEX,Yacc)。

3. 预处理

解析 SQL 的环节里面有个预处理器。 它会检查生成的解析树,解决解析器无法解析的语义。比如,它会检查表和列名是否存在,检查名字和别名,保证没有歧义。 预处理之后得到一个新的解析树。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7172.html

(0)
上一篇 2023-03-25
下一篇 2023-03-25

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注