Mysql的体系结构

SQL语句执行步骤:
解析–>执行步骤
执行(讲的就是在存储引擎中将数据取出来,然后进行排序,innodb引擎可以排序但myisam也可以做啊,所以排序不是在引擎层做的,而是在服务层做的,)(只有执行是在引擎中做的,其他的都是在服务层做的)
获取(排序)
InnoDB,如果没有主键,会用第一个非空且唯一的列,如果没有第一个非空且唯一的列,会建立隐藏列(6字节)

Mysql是单进程的(单进程,多线程)
能用中间键就用中间键 例如:redis

现如今Mysql主流数据库架构:主从数据库
Mysql是千万级别的数据库(每张表的存储量一般在8千万)
采用分布式数据库
主从数据库—>分布式数据库(过度)
总结: Mysql我自己能抗住的我自己扛,扛不住的用其他的中间键,单表最佳存储量式千万级别,但我可以采用分表分库,多台mysql数据库来存取一张表

学习重点: 遇到性能问题 sql语言怎么写,sql语句怎么写,这不是我们平时学习的重点,你要想提升,不是你能写多少语句,写多复杂的存储过程,你要想提升,提升的是,你要从性能层面分析出性能问题。
重点学习: 要理解一条SQL语句到Mysql里面是如何流转的

SQL语句执行过程
最上面的倒三角是用户认证

用户模块---->命令分发器
—>(左)Query Cache Module
以下是Query Cache Module:

99.9%的情况下不开启Query Cache模块

当用户假如对一张表中五千万行数据中的一行数据进行修改时,硬盘会帮你再查一遍,这样就会产生大量的磁盘IO
MySql 5.7版本 有query cache模块
下一个版本(即未来的版本)是Mysql8.0版本 将query cache模块去掉

—>(下)Parser(解析)


Access Control Module 数据库做一个验证,你有没有权限,你能不能去查。

数据库真正的体系结构:

核心层:------>CPU和内存部分

硬盘:读数据非常慢,没电也可以用
Cpu+内存:读取快,易失,没电容易没了

存储引擎层----->硬盘

MySQL多存储引擎的原理及其对应:

2010年的时候Mysql的默认结构:MyISAM(非聚簇)(已经淘汰)
(典型的堆表)

MyISAM(非聚簇):叶子存储值和指针(不支持事务)
主键:非空且唯一

InnoDB(聚簇):主键索引上就是这个数据,叶子就是这个数据

对比: 单从访问读取速度,我们每天访问不可能只从主键访问,肯定有很多条件,会经常用到辅助索引,这样InnoDB是吃亏的。

为什么还要推行InnoDB呢?
因为MyISAM不支持事务,你要修改的话,insert,delete时,它会把你全表锁了,并发非常之低,修改一个表,只能一个人去修改。InnoDB支持行锁,增删改一行的时候,其他行是不受限制的。


Abstracted Storage Engine Module: 抽象存储引擎

整个执行过程:
Mysql没有共享池机制,一百个调取,要解析100次,但Oracle有共享池,第一个人调取的信息会放在共享池中(内存),后面有需要相同的信息的直接从共享池调取。但有很多人同时进行,这对Mysql是灾难性的。

Mysql中同时有125个active session时,就会很危险。

问题:当CPU负载特别高可能是什么原因?

答:CPU要处理SQL语句,此时的active session 可能特别多。

一张表两个文件


sql读取,先取出来这部分的信息会放在 innodb buffer pool,再想读取这个信息的会直接从innodb buufer pool读取

全表扫描的过程中,MySQL一次读取数据至少是16K,(叫做一个page(页))这16K数据有很多行数据,总这里面找7369,Tom的这个数据。如果7369这个是唯一的,那么扫描完就不扫了。如果不是唯一的,那么要将整张表都放在内存里面,然后做过滤,然后返回给数据。

Mysql培训第一天相关推荐

  1. 智能车百度赛道培训第一弹-基础篇

    智能车百度赛道培训第一弹--基础篇来啦!请查收! ▌基础篇 01.培训安排 时间安排: 2021年3月19日(周五) 晚8:30 内容简介: 由百度赞助的人工智能创意组,今年竟然开始要求学生做车了?这 ...

  2. 智能车大赛AI视觉组培训第一弹——基础篇

    智能车大赛AI视觉组培训第一弹: ▌基础篇 1.培训简介 ■时间安排: 2021年03月18日 14:00 ■内容简介: 由恩智浦赞助的AI视觉组,今年由于把人工智能应用在智能车竞赛中,使得难度提升了 ...

  3. linux 搭建mysql主从复制 ----第一篇

    linux下部署mysql主从复制 第一篇 首先介绍下主从复制的原理 : 依赖于二进制日志,binary-log.二进制日志中记录引起数据库发生改变的语句 Insert .delete.update. ...

  4. centos mysql 实战 第一节课 安全加固 mysql安装

    centos mysql  实战  第一节课   安全加固  mysql安装 percona名字的由来=consultation 顾问+performance 性能=per  con  a mysql ...

  5. 信创培训第一课:linux操作系统基础

    信创培训第一课:linux操作系统基础 文章目录 信创培训第一课:linux操作系统基础 主要任务: 一.了解什么是 PKS? 了解麒麟桌面版本和麒麟服务器版本的区别 二.掌握云主机的基本操作 使用y ...

  6. JUST-HLL战队 电控视觉培训 第一周

    JUST-HLL战队 电控&视觉培训 第一周 1.C语言与C++简介 C语言百度百科 C C++百度百科 C++ 计算机语言分类(按执行方式) 编译型语言 先将源代码编译成目标语言之后通过连接 ...

  7. 吾爱破解培训第一课作业密码_如何实现您的第一个无密码登录系统

    吾爱破解培训第一课作业密码 You may have heard that there are 360 Million Reasons to Destroy All Passwords and tha ...

  8. 【原创】《麦肯锡入职培训第一课》读书感悟

    自己作为新人刚入职,除了在编程技巧方面又需要学习提高的地方意外,自己在和领导沟通.和业务沟通上面遇见了许多问题,自己做的事情往往得不到领导的肯定,自己总结了一下原因,自己从学生到公司职员在做事的思维上 ...

  9. 【管理学】索奥管理培训--第一课:认知与定位

    8月15日,参与公司"领导力"系列培训第一课时,周老师讲的非常好,一天6小时,下课后的感受是头脑发胀,是因为是 上课时全神贯注,用脑听.用脑想,高度费脑一天的结果,就和CPU高速运 ...

最新文章

  1. php 回收周期(Collecting Cycles)
  2. Spring boot依赖版本管理
  3. ubuntu启动,而且找不到win10启动项!
  4. 从严治码-系统集成项目之根本
  5. python加密与解密_Python加密与解密,pythonCrypt,和
  6. WCF系列(一)BasicHttpBinding 和 WsHttpBinding 的不同点
  7. 谷歌安全研究员发现3个 Apache Web 服务器软件缺陷
  8. 7-60 致命的珠宝 (10分)
  9. 物联网卡是做什么用的
  10. 有营养的算法笔记(七)
  11. 【MySQL】014-join连接语句用法详解
  12. 超级账本 —— 面向企业的分布式账本
  13. 《Temporal AA , SMAA and MSAA》
  14. 爬虫小白入门实例 —— 爬取全国某天所有火车的运行时刻表
  15. 2016计蒜之道初赛第一场----A青云的服务器密钥【贪心】
  16. STM32F103+W5500,HAL库
  17. Java基础教程--安卓入门教程(七)
  18. 移动端TB(D)R架构基础
  19. Linux --OSI TCP/IP协议族
  20. 360极速浏览器显示https证书无效解决方法

热门文章

  1. 纽扣电池常识——以CR2450为例
  2. 【一问一答】错题库整理
  3. iOS实现绘画文字动画
  4. Docker 深入篇之 Build 原理
  5. mapbox tippecanoe切矢量瓦片参数设置和注意事项
  6. [乐意黎原创]Win10 升级1909版本后,内存占用率居高不下的解决办法
  7. 读书笔记—《销售铁军》随记6
  8. [linux] 远程服务器安装unrar(无root)
  9. IE浏览器CSS hack方式一览
  10. linux自动关机取消命令,Linux中Shutdown命令实现定时自动关机