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存储引擎整体架构:

MySQL是一种关系型数据库管理系统,其底层实现原理涉及多个方面,包括数据存储、查询优化、并发控制和事务处理等。 1. 数据存储:MySQL使用文件系统来管理数据的物理存储。每个数据库表都对应一个或多个文件,其中包含数据行、索引和其他元数据。MySQL支持不同的存储引擎,如InnoDB、MyISAM等,每个存储引擎都有不同的数据存储方式和特性。 2. 查询优化:MySQL使用查询优化器来确定最佳执行计划。查询优化器分析查询语句,并根据表的统计信息、索引等因素选择最佳的索引和执行策略。通过合理的索引设计和查询编写,可以提高查询性能。 3. 并发控制:MySQL使用锁机制来实现并发控制,保证多个用户同时访问数据库时数据的一致性。MySQL支持不同级别的锁,如表级锁、行级锁等。通过合理地选择锁级别和事务隔离级别,可以平衡并发性能和数据一致性要求。 4. 事务处理:MySQL支持事务处理,保证数据的完整性和一致性。事务是由一系列操作组成的逻辑工作单元,可以通过ACID属性来保证数据的一致性。MySQL使用日志来记录事务的操作,以便在发生故障时进行数据恢复。 总的来说,MySQL底层实现原理涉及数据存储、查询优化、并发控制和事务处理等方面,通过这些机制来保证数据的安全性、一致性和性能。不同的存储引擎和配置选项可以对MySQL的性能和功能进行调优和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

国林哥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值