[MySQL] 01 基础架构-45讲

基本架构示意图

MySQL逻辑架构图

  • 分为 Server层存储引擎层
  • Server层:
    • 涵盖大多数核心服务及所有内置函数(日期,时间,数学和加密函数)
    • 所有跨存储引擎的功能,存储过程、触发器、视图等;
  • 存储引擎:负责数据的存储与提取,架构模式为插件式
    • InnoDB
    • MyISAM
    • Memory

连接器

连接器负责跟客户端建立连接、获取权限、维持和管理连接。

长连接与短链接

  • 长连接是指连接成功后,如果客户端持续有请求,则一直使用同一个连接。
  • 短连接则是指每次执行完很少的几次查询就断开连接,下次查询再重新建立一个。
  • 建议尽量减少连接的动作,使用长连接;
  • 长连接OOM问题:
    • 原因: MySQL在执行过程中临时使用的内存是管理在连接对象里面的,这些资源会在连接断开的时候才释放;
    • 方案:
      • 定期断开重连;
      • MySQL5.7以上,在执行较大的操作后,执行mysql_reset_connection来初始化连接资源;

查询缓存

  • 由于查询缓存较为频繁,只要对一个表进行更新,表上所有查询缓存都会清空;
  • 因此适用于涉及静态表的业务,比如系统配置表。
  • 可以通过 query_cache_type 设置韦 DEMAND,关闭查询缓存;
  • 可以通过 SQL_CACHE 显式指定查询缓存;
select SQL_CACHE * from T where ID=10;
  • MySQL 8.0版本删除

分析器

  • 词义分析->语义分析
  • 语法报错

优化器

  • 索引选择
  • 多表查询(join),决定连接顺序;

执行器

  • 判断对表有无执行查询的权限;
  • 慢查询日志中 rows_examined 字段,表示语句执行扫描了多少行;
posted on 2024-07-09 14:42  流沙何  阅读(2)  评论(0编辑  收藏  举报