首页 > 数据库 >MySQL45讲笔记

MySQL45讲笔记

时间:2022-12-21 10:44:49浏览次数:47  
标签:缓存 笔记 查询 引擎 MySQL45 MySQL 权限 连接

MySQL基础架构

image

  • MySQL架构可大体分为Server层存储引擎两个部分
    • Server层可分为连接器,分析器,优化器
    • 存储引擎层负责数据的存储提取。其架构模式是插件式的,需要在建表的时候,指定你需要的存储引擎,默认是Innodb

连接器

  • 连接器负责跟客户端建立连接、获取权限、维持和管理连接。
  • 用户登录成功后连接器会查询权限表,后续操作均依赖此时的权限,若该用户后续权限变化需重新登录
  • 连接默认时间为8小时,这个时间是由参数wait_timeout控制。
  • 使用showprocesslist可以查看连接
  • 连接类型分为长连接短连接
    • 短连接:每次执行完很少的几次查询就断开连接,下次查询再重新建立一个
    • 长连接:连接成功后,如果客户端持续有请求,则一直使用同一个连接

如何解决长连接占用大量资源?
MySQL在执行过程中临时使用的内存是管理在连接对象里面的。这些资源会在连接断开的时候才释放

  1. 定时或在大查询后断开连接
  2. MySQL5.7版本后使用mysql_reset_connection命令,该命令不需要重连和重新做权限验证,会使连接恢复到刚创建完的状态

查询缓存

  • 缓存通过Key-Value 进行存储,key是查询的语句,value是查询的结果
  • 查询缓存的失效非常频繁,只要有对一个表的更新,这个表上所有的查询缓存都会被清空。不建议使用
  • 表更新后,该表缓存将会被清空,仅建议在静态表(长期不更新)使用
  • 将参数query_cache_type设置成DEMAND,这样对于默认的SQL语句都不使用查询缓存
  • 显示使用缓存:select SQL_CACHE * from T where ID=10;
  • MySQL8.O之后版本已移除缓存

分析器

  • 词法分析:MySQL需要识别出里面的字符串分别是什么,代表什么
    • MySQL从你输入的"select"这个关键字识别出来,这是一个查询语句。它也要把字符串“T”识别 成“表名T”,把字符串“ID”识别成“列ID”。
  • 语法分析:检查输入语句是否符合MySQL语法标准

优化器

  • 决定使用哪个索引
  • 决定表如何 join,哪个表用来join,哪个表用来被连接
  • 决定执行的方案

执行器

  1. 验证权限
  2. 根据表的引擎定义,去使用这个引擎提供的接口
  • 慢查询日志中看到一个rows_examined的字段,表示这个语句执行过程中扫描了多少行。
  • 在有些场景下,执行器调用一次,在引擎内部则扫描了多行,因此引擎扫描行数跟rows_examined并不是完全相同的。

标签:缓存,笔记,查询,引擎,MySQL45,MySQL,权限,连接
From: https://www.cnblogs.com/zjq97/p/16995723.html

相关文章

  • 小新笔记本重置密码经历
    主要分三个步骤。1.制作U启(实测过老毛桃系列好使https://www.laomaotao.net/)  2.fn+F12进入bootmanage启动界面,选择所制作的u盘3.程序栏选择密码重置,或设置新密......
  • 《社会性动物》笔记
    《社会性动物》笔记1、社会心理学的定义社会心理学是研究人们对别人的信念和行为所产生的影响。社会心理学的研究人员讨论的主要问题是下面这么几个......
  • Java学习笔记2
    1.运算符和表达式运算符​ 就是对常量或者变量进行操作的符号。​ 如:+-*/表达式​ 用运算符把常量或者变量连接起来的,符合Java语法的式子就是表达式。​ 如:a+b......
  • 【《硬件架构的艺术》读书笔记】07 处理字节顺序
    7.1介绍 本章主要介绍字节顺序的的基本规则。(感觉偏软件了,不知道为啥那么会放进《硬件架构的艺术》这本书)。7.2定义 字节顺序定义数据在计算机系统中的存储格式,描述......
  • STM32MP157开发板调试笔记
    作者:树哥邮箱:[email protected]一、前言​最近在ODYSSEY-STM32MP157C板子上移植arm-trusted-firmware、u-boot以及linux(其实这个开发板官方是有提供完整的......
  • Typora笔记
    学习笔记感谢大佬!!!!最齐的Typora使用教程_水木子_的博客-CSDN博客_typora1.1标题“#+空格”“Ctrl+数字”1.2字体斜体01——用”*······*......
  • BMF学习笔记
    前言:这应该是下半学期(甚至可以说整个学期,因为上半期haskell感觉在铺垫)计算概论课主要想讲的内容了BirdMeertensFormalism(BMF)应该是一种计算理论?是建立在半群(幺半群......
  • 关于Iceberg数据湖的Temp笔记
    ​​实践数据湖iceberg第一课入门​​实践数据湖iceberg第二课iceberg基于hadoop的底层数据格式实践数据湖iceberg第三课在sqlclient中,以sql方式从kafka读数据到icebe......
  • 『NLP学习笔记』Transformer技术详细介绍
    Transformer技术详细介绍!文章目录​​一.整体结构图​​​​二.输入部分​​​​2.1.词向量​​​​2.2.位置编码​​​​三.注意力机制​​​​3.1.注意力机制的本......
  • 『NLP学习笔记』BERT技术详细介绍
    BERT技术详细介绍文章目录​​一.BERT整体模型架构​​​​1.1.Attention机制​​​​1.2.基础架构-Transformer中的Encoder​​​​1.3.BERT输入的三部分​​​​二.......