MySQL数据库底层实现原理
一、MySQL 历史:1996年发布,2003年MySQL加入innodb。历史版本有5.5 /5.7;最新版本8.0.二、MySQL原理:当执行SQL的时候,数据库底层到底发生了什么?MySQL Server包括:连接层,service层,存储引擎层Driver jdbc 3306 连接类型:同步(查到后给过来)/异步(查到后暂不给)jdbc连接方式:长连接,短连接(默认是长连接) 客户端:na
一、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存储引擎整体架构:

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)