IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySQL第一讲 -> 正文阅读

[大数据]MySQL第一讲

逻辑架构

逻辑架构图

在这里插入图片描述

连接器 Connectors

驱动 JDBC ODBC Python PHP .NET

管理和控制工具 Management Services & Utilities

备份、恢复、安全、集群,主要是DBA用的

连接池 Connection Pool

管理连接,不能无限制连

连接认证…

SQL接口 SQL Interface

分发各种SQL语句,DML DDL

解析器 Parser

词法解析和语法解析

词法解析 → 通过空格进行分割,形成语法树

语法分析 → 符合SQL语法 SQL92 MYSQL有自己的语法,比如limit

查询优化 Optimizer

索引 可建立多个索引,实际使用时只用一个,使用最优的,通过explain分析后得到最优

多表关联 小表驱动大表

WHERE条件 左→右 注:过滤力度最大的先执行

例:SELECT * FROM T18_TASK_FACT T WHERE T.TASKTYPE=‘301’ AND T.TASKKEY=123

先执行T.TASKKEY=123

Oracle 右→左

查询缓存 Cache & Buffer

把查询结果缓存

Map

key:SQL语句的hash值

value:查询结果

注:1、where a=1 and b=2 跟 where b=2 and a=1 是不一样的

? 2、只要做过新增、修改、删除,缓存会清掉

? 3、MySQL8.0后不再用

存储引擎 Pluggable Storage Engines

存储引擎是针对表来指定的,5.5后的MySQL默认存储引擎是InnoDB

简单介绍:

存储引擎说明
MyISAM较高的插入、查询速度。不支持事务,不支持行锁。
InnoDB支持事务、行级锁定、外键、崩溃修复、并发控制,比MyISAM处理速度稍慢。
Memory内存存储引擎,极高的插入、更新、查询效率。不持久化,数据会丢失。不能建立太大的表。
Archive压缩存储,适合存储大量的、独立的历史数据,只能插入和查询。
CSV基于CSV格式文件存储数据,用作跨平台的数据交换。
Merge将多表联合成一个表,适用于超大规模数据存储。
xtraDB这是个第三方自定义的存储引擎,Percona公司出品,Percona Server为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具。
InnoDB和MyISAM区别
InnoDBMyISAM
存储文件.frm 表定义文件
.ibd 数据文件和索引文件
.frm 表定义文件
.myd 数据文件
.myi 索引文件
表锁、行锁表锁
事务支持不支持
COUNT扫表不扫表(加where条件也扫表)
索引结构B+ TreeB+ Tree
外键支持不支持

执行流程

在这里插入图片描述

物理结构

  • 通过文件系统存储数据和索引。
  • 从物理结构上,分为日志文件和数据、索引文件。
  • 以上两种文件都在/var/lib/mysql目录下。
  • 日志文件采用顺序IO存储(记录速度快、只能追加,浪费空间)、数据文件采用随机IO存储(省空间、相对慢)。

日志文件

在 /etc/my.cnf 中进行配置。

通过命令 show variables like ‘log_%’ 查看日志开启情况。

错误日志 errorlog

默认开启,无法关闭

二进制日志 binlog

默认开启,主要记录增删改操作,描述了数据变更的顺序,DML语句,事务提交才会记录,DDL语句会直接记录。重启一次服务就会生成一个新的binlog日志。

涉及备份、恢复、主从。

通用查询日志 general query log

记录所有,一般不能开启,尤其生产环境

慢查询日志 slow query log

调优用的,定位执行慢的select,默认关闭

重做日志 redo log

ib_logfile0、ib_logfile1 涉及持久化

回滚日志 undo log

中继日志 relay log

涉及主从

数据文件

通过命令 show variables like ‘%datadir%’ 查看数据文件情况。

InnoDB数据文件

  • .frm文件:主要存储表结构的定义信息。
  • .ibd文件:使用独享表空间存储表数据和索引信息,一张表对应一个ibd文件
  • ibdata文件:使用共享表空间存储表数据和索引信息(系统空间数据),所有表共同使用一个或者多个ibdata文件。

MyISAM数据文件

  • .frm文件:主要存储表结构的定义信息。
  • .myd文件:主要存储表数据信息。
  • .myi文件:主要存储索引信息。
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 10:50:33  更:2022-08-06 10:54:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 1:52:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码