Mysql培训第一天
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培训第一天相关推荐
- 智能车百度赛道培训第一弹-基础篇
智能车百度赛道培训第一弹--基础篇来啦!请查收! ▌基础篇 01.培训安排 时间安排: 2021年3月19日(周五) 晚8:30 内容简介: 由百度赞助的人工智能创意组,今年竟然开始要求学生做车了?这 ...
- 智能车大赛AI视觉组培训第一弹——基础篇
智能车大赛AI视觉组培训第一弹: ▌基础篇 1.培训简介 ■时间安排: 2021年03月18日 14:00 ■内容简介: 由恩智浦赞助的AI视觉组,今年由于把人工智能应用在智能车竞赛中,使得难度提升了 ...
- linux 搭建mysql主从复制 ----第一篇
linux下部署mysql主从复制 第一篇 首先介绍下主从复制的原理 : 依赖于二进制日志,binary-log.二进制日志中记录引起数据库发生改变的语句 Insert .delete.update. ...
- centos mysql 实战 第一节课 安全加固 mysql安装
centos mysql 实战 第一节课 安全加固 mysql安装 percona名字的由来=consultation 顾问+performance 性能=per con a mysql ...
- 信创培训第一课:linux操作系统基础
信创培训第一课:linux操作系统基础 文章目录 信创培训第一课:linux操作系统基础 主要任务: 一.了解什么是 PKS? 了解麒麟桌面版本和麒麟服务器版本的区别 二.掌握云主机的基本操作 使用y ...
- JUST-HLL战队 电控视觉培训 第一周
JUST-HLL战队 电控&视觉培训 第一周 1.C语言与C++简介 C语言百度百科 C C++百度百科 C++ 计算机语言分类(按执行方式) 编译型语言 先将源代码编译成目标语言之后通过连接 ...
- 吾爱破解培训第一课作业密码_如何实现您的第一个无密码登录系统
吾爱破解培训第一课作业密码 You may have heard that there are 360 Million Reasons to Destroy All Passwords and tha ...
- 【原创】《麦肯锡入职培训第一课》读书感悟
自己作为新人刚入职,除了在编程技巧方面又需要学习提高的地方意外,自己在和领导沟通.和业务沟通上面遇见了许多问题,自己做的事情往往得不到领导的肯定,自己总结了一下原因,自己从学生到公司职员在做事的思维上 ...
- 【管理学】索奥管理培训--第一课:认知与定位
8月15日,参与公司"领导力"系列培训第一课时,周老师讲的非常好,一天6小时,下课后的感受是头脑发胀,是因为是 上课时全神贯注,用脑听.用脑想,高度费脑一天的结果,就和CPU高速运 ...
最新文章
- php 回收周期(Collecting Cycles)
- Spring boot依赖版本管理
- ubuntu启动,而且找不到win10启动项!
- 从严治码-系统集成项目之根本
- python加密与解密_Python加密与解密,pythonCrypt,和
- WCF系列(一)BasicHttpBinding 和 WsHttpBinding 的不同点
- 谷歌安全研究员发现3个 Apache Web 服务器软件缺陷
- 7-60 致命的珠宝 (10分)
- 物联网卡是做什么用的
- 有营养的算法笔记(七)
- 【MySQL】014-join连接语句用法详解
- 超级账本 —— 面向企业的分布式账本
- 《Temporal AA , SMAA and MSAA》
- 爬虫小白入门实例 —— 爬取全国某天所有火车的运行时刻表
- 2016计蒜之道初赛第一场----A青云的服务器密钥【贪心】
- STM32F103+W5500,HAL库
- Java基础教程--安卓入门教程(七)
- 移动端TB(D)R架构基础
- Linux --OSI TCP/IP协议族
- 360极速浏览器显示https证书无效解决方法