0%

Mysql-基础+架构

mysql介绍;SQL的解析顺序;mysql架构,包括逻辑架构、物理结构

MySQL

Mysql语言

DDL

数据库定义语言

creat database;

DML

数据库操作语言

insert

update

delete

DQL

数据库查询语言

select

DCL

数据库控制语言

权限控制

MySQL解析顺序

写的顺序

1
2
3
4
5
6
7
8
9
select distinct
< select_list>
from
join on
where
group by
having
order by
limit

解析顺序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 表
from
# 行过滤
on
join
where
group by
having
# 列过滤
select
distinct
# 排序
order by
# 标准SQL之外
limit

MySQL架构

逻辑结构

逻辑架构图

jiagou

简单执行流程

​ 连接器

查询缓存 分析器

​ 优化器

​ 执行器

​ 存储引擎

详细执行流程

img

物理结构

  • mysql通过文件系统对数据和索引进行存储。

  • 物理结构上分为日志文件和数据索引文件。

  • 日志文件使用顺序 I/O 存储,数据文件使用随机 I/O 存储。

日志文件

错误日志

二进制日志:数据备份、恢复、主从使用,生产中开启

通用查询日志:记录所有东西,影响性能。

慢查询日志:SQL优化时使用,配置检测SQL执行时间,过滤并记录SQL。

重做日志

回滚日志

中继日志:主从使用

数据文件

InnoDB数据文件

.frm 与表相关的信息,主要包括表结构定义信息

.ibd 使用独享表空间存储 数据+索引。一张表对应一个ibd文件。

ibdata 使用共享表空间存储 数据+索引。所有表共用一个或多个ibdata文件。

MyISAM数据文件

.fmi 与表相关的信息,主要包括表结构定义信息

.myd 存储表数据信息

.myi 存储表数据文件的索引