首页 > 数据库技术 > 详细

sql执行流程

时间:2021-04-25 00:18:00      阅读:22      评论:0      收藏:0      [点我收藏+]

sql执行流程

MySQL可以分为Server层和存储引擎两部分

  • Server层包含连接器,查询缓存,分析器,优化器,执行器等,涵盖了MySQL的大多数的核心服务功能,以及所有的内置函数(如日期,时间,数学,和加密函数等),所有的跨存储引擎的功能都在这一层实现,比如存储过程,触发器,试图等
  • 存储引擎层负责数据的存储和提取。其架构是插件式的,支持InnoDB,MyISAM,Memory等多个存储引擎
  • 连接器。管理连接、权限验证。 解决长连接问题:可以代码定期关闭连接。mysql5.7版本之后,每次执行一个比较大的操作后,通过执行mysql_reset_connection来重新初始化连接资源。这个过程不需要重连和重新做权限验证,速度会比较快

  • 查询缓存。MYSQL 8.0没有缓存查询的功能,已经被抛弃。

    • 1.query_cache_type
      0(off):关闭缓存的功能,任何情况下都不会使用缓存
      1(on): 开启缓存,但是当select 语句中使用了SQL_NO_CACHE提示后,将不使用缓存
      2(demand):开启缓存查询,当select语句中使用了SQL_CACHE提示后,才使用缓存查询
    • 如果为1 又不想使用缓存:
      select sql_no_cache * from sys_user
    • 如果为2 向使用缓存
      select sql_cache * from sys_user
  • 分析器。分析语句是查询还是更新,还是语法有错误

  • 优化器。进行sql优化,选择最优sql

  • 执行器。最终运行sql到存储器获取数据

sql执行流程

原文:https://www.cnblogs.com/brightdagger/p/14698125.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!