大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说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
任何数据库的中间件,比如 Mycat,Sharding-JDBC(用到了 Druid Parser),都必须要有词法和语法分析功能,在市面上也有很多的开源的词法解析的工具(比如 LEX,Yacc)。
3. 预处理
解析 SQL 的环节里面有个预处理器。 它会检查生成的解析树,解决解析器无法解析的语义。比如,它会检查表和列名是否存在,检查名字和别名,保证没有歧义。 预处理之后得到一个新的解析树。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7172.html