IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> SQL在MySQL中是如何执行的 -> 正文阅读

[大数据]SQL在MySQL中是如何执行的

SQL在MySQL中是如何执行的

MySQL内部结构

MySQL内部结构.png

MySQL缓存

  • 执行语句先到缓存中查询,如果查到,直接返回结果。(当数据被更新后,缓存还是保存旧的值,但如果实时监控刷新缓存,对MySQL性能又有很大的影响。所以很鸡肋,所以MySQL@8之后已启用本地缓存)

连接器

  • 一个用户成功建立连接后,即使用管理员账号对这个用户的权限做个修改,也不会影响已经存在连接的权限。修改完成后,只有重新建立连接才能使用最新的权限设置。用户的权限表在系统表空间的mysql的user表中
  • 客户端长连接事件默认为8h(可以调整)
  • 问题: MySQL长连接有些时候会导致内存很大,从而导致OOM,该如何解决呢
    • 如果是用MySQL@5.7或更高的版本,可以在每次执行一次比较大的操作后,同执行mysql_reset_connection来重新初始化连接资源。这个过程中不需要重连和重新做权限验证,但是会将连接回复到刚刚创建完时的状态。

分析器

  • 分6个步骤完成对SQL语句的分析
    • 词法分析
    • 语法分析
    • 语义分析
    • 构造执行树
    • 生成执行计划
    • 计划的执行

优化器

  • 比如: select * from a join b on a.id = b.aid where a.name = 'xx' and b.name = 'xx'
  • 优化器经过成本计算,分析到底使用哪种索引效率更高,也就是说使用什么索引或者不要使用索引,都是优化器来决定

执行器

  • 执行的时候要先判断一下这个表有没有执行查询的权限,如果没有就会返回没有权限的错误,(在工程的实现上,如果命中查询缓存,会在查询缓存返回结果的时候,做权限验证。查询也会在优化器之前调用precheck验证权限)
  • 如果有权限,就打开表继续执行。打开表的时候,执行器就会根据表的引擎定义,去使用引擎提供的接口
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章           查看所有文章
加:2022-05-21 19:02:55  更:2022-05-21 19:06:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/20 0:13:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码