当前位置: 首页 > ai >正文

sql执行过程

客户端->连接器->查询缓存->解析器(词法分析、语法分析)->预处理器->优化器->执行器->存储引擎

1.客户端

在程序或命令行里输入SQL语句后,通过连接器进入MySQL。

2.连接器

建立 TCP 连接,校验用户的账号密码,并维护连接(分为长连接 / 短连接);连接建立后,会关联该用户的权限信息(后续权限检查基于此)。

3.查询缓存(MySQL 8.0 已移除)

以相同 SQL(文本完全一致)为Key查询缓存,如果命中缓存则直接返回,否则继续往下执行。

4.解析器

词法分析:将SQL拆分为关键字(SELECT、FROM)、表名、列等。

语法分析:根据SQL语法规则,生成语法树,判断SQL是否合法。

5.预处理器

检查表和字段是否存在,将select*中的*扩展为表中所有的列,解析别名、处理常量折叠、校验数据类型兼容性。

6.优化器

决定如何执行SQL,主要优化内容:选择索引、表连接方式、优化表达式,选择查询成本最小的执行计划。

7.执行器

先进行初步权限校验(如是否有目标表的操作权限),根据执行计划,通过存储引擎 API 调用底层存储引擎,执行过程中若有特殊操作,再次确认权限,并处理锁(如行锁、表锁)。

8.存储引擎

根据执行器的指令完成具体数据操作,将结果返回给执行器;执行器再将结果逐层返回给客户端(若开启查询缓存,会同时将结果存入缓存)。

 

http://www.xdnf.cn/news/19569.html

相关文章:

  • WordPress.com 和 WordPress.org 之间的区别说明
  • 大批量文件管理操作的linux与windows系统命令行终端命令
  • SpringMVC —— Spring集成web环境和SpringMVC快速入门
  • 腾讯混元翻译模型Hunyuan-MT-7B开源:小参数量大能量,获得30项国际冠军
  • Windows---DWORD与IPVOID
  • Sentinel vs Resilience4j vs Bucket4j:分布式限流方案对比与实战
  • 【音视频】VP8 与 VP9 技术详解及与 H.264 H.265 的对比
  • 扩散模型驱动的智能设计与制造:下一场工业革命?
  • idea创建类时自动添加文档注释
  • 【技术教程】如何将文档编辑器集成至基于Node.js的网页应用程序中
  • ESLint 相关
  • 单北斗GNSS位移监测技术解析
  • 网络通信IP细节
  • 企业级架构师综合能力项目案例二(项目性能优化方案JVM+数据库+缓存+代码JUC+消息中间件架构+服务熔断降级)
  • 想找Gamma的平替?这几款AI PPT工具值得试试
  • 设计模式:命令模式(Command Pattern)
  • 从 “容器保姆” 到 “云原生王者”:K8s 全方位指南
  • 并发编程——13 线程池ThreadPoolExecutor实战及其原理分析
  • 顶级科学家的AI使用指南:从工具到合作伙伴
  • 华清远见25072班I/O学习day3
  • Redis分层缓存
  • DELPHI 利用OpenSSL实现加解密,证书(X.509)等功能
  • 犀牛派A1上使用Faster Whisper完成音频转文字
  • 哈尔滨云前沿服务器托管与租用服务
  • 科普:为什么在开发板上运行 Qt 程序时需要在命令后加 -platform linuxfb
  • Linux文本处理工具完全指南:cut、sort、uniq、tr、sed与awk详解
  • odps链接表并预测出现程序阻塞导致任务未完成问题排查
  • 信创服务器总死机原因及解决办法
  • WPF曲线自定义控件 - CurveHelper
  • Java-Spring入门指南(二)利用IDEA手把手教你如何创建第一个Spring系统