MySQL学习笔记一之架构@TOC
架构图如下

Server层

连接器

  • 负责跟客户端建立连接、获取权限、维持和管理连接
  • 客户端如果太长时间没有动静,连接器会将其自动断开,时间由参数wait_timeout控制,默认值八小时
  • 长连接是指连接成功后,如果客户端持续有请求,则一直使用同一个连接
    • 使用长连接后内存会涨的特别快,因为mysql执行过程中临时使用的内存是管理在连接对象里的,这些资源会在连接断开的时候才释放

      • 解决方案:

        • 定期断开长连接
        • 5.7以上的版本,可以在每次执行一个比较大的操作之后通过执行mysql_reset_connection来重新初始化资源,该过程不需要重新连接和做权限验证,但是会把连接回复到刚刚创建完的状态
  • 短连接是指每次执行完很少的几次查询以后就断开连接,下次查询重新建立一个。

查询缓存

  • 拿到查询请求后,会先到查询缓存中看是否命中,命中的话直接返回。之前执行过的语句会以key-value的形式直接缓存在内存中,key是查询的语句,value是查询的结果
  • mysql默认按需使用的方式开启功能
  • 该功能弊大于利:失效频繁
    • 只要有对一个表的更新,这个表上的所有的查询缓存都会被清空
  • 8.0版本删除了这个功能

分析器

  • 词法分析:识别出字符串是什么
  • 语法分析:根据语法规则判断sql语句是否合法

执行器

  • 执行前,会先判断你对这个表有没有查询权限
  • 数据库的慢查询日志中看到一个rows_examined字段,表示这个语句执行过程中扫描了多少行。
  • 引擎扫面行数跟rows_examined并不是完全相同。

存储引擎层

官方存储引擎

第三方存储引擎

连接方式

  • TCP/IP套接字方式。建立基于网络的连接请求
  • 命名管道和共享内存。在同一台服务器
  • unix套接字。[mysql -udavid -S /tmp/mysql.sock]

MySQL学习笔记一之基础架构相关推荐

  1. MySQL学习笔记-恶补基础篇

    目录 概述 1.初识数据库 1.1.DataBase 1.2.数据库分类 1.3.DBMS(数据库管理系统) 1.4.命令行操作数据库 2.操作数据库 2.1.操作数据库 2.2.数据库列类型 2.3 ...

  2. OceanBase 从0到1数据库内核实战教程学习笔记 - 3.OceanBase基础架构和开发技巧

    这篇文章主要介绍王泽林老师分享的 <OceanBase 的基础架构和开发技巧>.如果您看过第一篇文章的对应视频,会发现整个系列主要分为 MiniOB 和 OceanBase 两个系列,本篇 ...

  3. MySQL学习笔记_8_SQL语言基础复习

    SQL语言基础复习 一.概述 SQL语句注释方式 1)以"#"开头直到行尾的所有内容都是注释 2)以"--"(--后还有一个空格)开头直到行尾的所有内容都是注释 ...

  4. MySQL学习笔记-第一篇-基础知识与命令

    目录 1 登录命令 1.1 主机域名登录 1.2 主机ip登录 2 库命令 2.1 显示库 2.2 创建数据库 2.3 删除数据库 2.4 MySQL-8.新特性 3 表命令 3.1 创建数据表 3. ...

  5. MySQL学习笔记-基础篇2

    MySQL学习笔记-基础篇2 目录 MySQL学习笔记-基础篇2 8.子查询 8.1 需求分析与问题解决 8.1.1 实际问题 8.1.2 子查询的基本使用 8.1.3 子查询的分类 8.2 单行子查 ...

  6. MySQL学习笔记-基础篇1

    MySQL 学习笔记–基础篇1 目录 MySQL 学习笔记--基础篇1 1. 数据库概述与MySQL安装 1.1 数据库概述 1.1.1 为什么要使用数据库 1.2 数据库与数据库管理系统 1.2.1 ...

  7. JavaEE 企业级分布式高级架构师(六)MySQL学习笔记(6)

    MySQL学习笔记 性能优化篇 性能优化的思路 慢查询日志 慢查询日志介绍 开启慢查询功能 演示一 演示二 分析慢查询日志 MySQL自带的mysqldumpslow 使用percona-toolki ...

  8. MySQL学习笔记——尚硅谷李玉婷经典版MySQL基础笔记(一)

    MySQL学习笔记--尚硅谷李玉婷经典版MySQL基础笔记(一) MySQL学习笔记目录 MySQL学习笔记--尚硅谷李玉婷经典版MySQL基础笔记(一) 一.基础知识 1.MySQL的语法规范 2. ...

  9. Mysql学习笔记(基础)基础sql语句详细记录

    数据库学习(基础) // 个人网课学习记录,如果有违规等问题,请联系我删除~ mysql下载安装( 解压版安装配置 下载版安装配置 ) 需求分析:使用cmd命令来创建一个数据库,并对数据库中得一张分类 ...

最新文章

  1. SLAM-ch2-cmake中使用库
  2. hdu 1874畅通工程续(基础Floyd)
  3. java五子棋源代码_java 五子棋游戏源码
  4. C++学习之路 | PTA乙级—— 1051 复数乘法 (15 分)(精简)
  5. mysql 插入数据后返回当前的自增ID方法
  6. TP5实践小总结(1)
  7. 秋招准备之——计算机操作系统
  8. PS流的格式和解析总结
  9. wpa_supplicant wps手册的翻译
  10. Java常用框架介绍
  11. Android 编辑 mhtml,Html Editor下载-Html Editor(Html编辑器)下载v1.0 安卓版-西西软件下载...
  12. 计算机总是蓝屏怎么解决办法,电脑经常蓝屏怎么办?教你解决几种常见的蓝屏问题...
  13. 设计思维(Design Thinking)
  14. 学校的计算机教室火灾级别,校园火灾事故案例统计基本数据表.doc
  15. 世界标准时间(UTC) 常识
  16. 微信 openid = hash(uid + app_id) 也就是说,对每个app可以做到用户id唯一
  17. python处理金融数据_Python金融大数据分析-数据获取与简单处理
  18. OpenSSL 把cer证书链以及key文件生成keystore,tomcat https配置
  19. 有关 ovirt 的分析
  20. App Icon Gear App 图标制作工具

热门文章

  1. Redis进阶-发布订阅简介
  2. 6.30滴滴面经(一面+二面)
  3. IT十年人生过客-二十七-艰难
  4. Gmailnbsp;邮箱登陆慢打不开和如何成功…
  5. 学习python需要多长时间?你知道吗?
  6. 读《文明、现代化、价值投资与中国》一点感受
  7. 超强PCB布线设计经验谈附原理图(六)
  8. MATLAB语言的串口助手
  9. 网站关键词的选择和优化设置技巧
  10. 爬虫实战项目--优信二手车--天眼