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

Logo

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

更多推荐