MySQL数据库底层实现原理

一、MySQL 历史:

1996年发布,2003年MySQL加入innodb。

历史版本有5.5 /5.7;最新版本8.0.

二、MySQL原理:

当执行SQL的时候,数据库底层到底发生了什么?

MySQL Server包括:连接层,service层,存储引擎层

Driver jdbc 3306 连接类型:同步(查到后给过来)/异步(查到后暂不给)

jdbc连接方式:长连接,短连接(默认是长连接)  客户端:navcat sqlyong

协议:TCP/Socket

连接池: 安全认证

目前连接数:thread( show global status like ‘Thread%’)

最大连接数:max_connections

最大连接时间: %wait_timeout% (show global variables like ‘%wait_timeout%’)

MySQL使用了缓存?

官网解释:Query cache was deprecated in MySQL 5.7 and removed in MySQL 8.0

说明以前是由Query cache缓存的, 在5.7和8.0被废弃了。

MySQL对SQL语句进行词语解析:

预处理器:确定语义是否符合要求

优化器:查询表的先后,基于cost成本,生成一个执行计划

Show global variables like ‘%optimizer%’

查询执行成本的SQL,(需要命令行执行):

select * from information_schema.OPTIMIZER_TRACE;

包括预处理,优化,连接

Explain step包括: SQL准备阶段,优化阶段,执行阶段

优化器生成一个执行计划(execution),具体由执行器exectuor执行后给InnnoDB Engine生成DB file,更新query cache。

当然,如果数据在query cache缓存中存在,则直接从缓存取。整理流程如下:

·

主流存储引擎有哪些?InnoDB 、memory,myisam

查看以下目录下由InnoDB ,myisam相关文件

插件式存储引擎innoDB有哪些优势?

MVCC,事务,外键,视图,行锁,B+树索引,块,安全,缓存。

参考MySQL官网表格:

InnoDB存储引擎整体架构:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

国林哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值