• MySQL阅读笔记——1.MySQL架构


      MySQL后台服务器进程默认名称mysqld,客户端名称mysql,mysqld_safe是一个启动脚本,间接调用mysqld还会启用监控进程产出日志。systemctl start mysqld.service 会调用mysqld_safe

    连接管理、查询缓存、语法解析、查询优化这些逻辑层面的划分为MySql server,MySQL server提供统一调用接口(存储引擎API),数据的真实存储划分为 存储引擎 功能。

    MySQL将查询结果逐条返回给客户端,只是在客户端进行收集后汇总后才呈现给用户

    连接管理

      MySQL为每一个连接都创建一个线程,断开连接不会立即销毁,缓存起来。MySQL建立连接成本很高,除了TCP三次握手,还要做登陆权限判断,以及获取连接的数据读写权限

    解析优化

    查询缓存

      每个客户端线程共享查询缓存,缓存并不智能,查询请求有任何字符不同或者调用了系统函数,都不会进行缓存。MySQL缓存系统会监控每张表,只要表的数据或者结构改变则该表的所有查询缓存全部失效。查询缓存需要在服务器单独维护造成一部分开销,因此在MySQL8中删除,因为更新表的时候会将该表的所有查询缓存全部清除。

    语法解析

      词法解析、语法分析,语义分析等

    查询优化

      可以使用EXPLAIN查看sql执行计划进行查询优化。从MySQL 5.7.20开始,不推荐使用查询缓存,并在MySQL 8.0中删除

    WAL技术,全称Write-Ahead Logging,将数据先写入日志(顺序写),再写入磁盘。InnoDB引擎写入记录前线顺序写入redo日志,之后在系统空闲的时候将undo日志操作写入到磁盘,binlog是server层的归档日志

    存储引擎

      存储引擎以前叫“表处理器”,存储引擎是负责对表中的数据进行提取和写入工作的,我们可以为不同的表设置不同的存储引擎,也就是说不同的表可以有不同的物理存储结构,不同的提取和写入方式。默认引擎:InnoDB具备外键功能的事务存储引擎,MyISAM不支持事务。

     

  • 相关阅读:
    第7章例7-12
    第7章例7-11
    第7章例7-9
    第7章例7-8
    第7章例7-7
    第7章例7-6
    第7章例7-5
    第7章例7-4
    第7章例7-3
    第7章例7-2
  • 原文地址:https://www.cnblogs.com/leon618/p/13783175.html
Copyright © 2020-2023  润新知