写点什么

MySQL 概念

作者:武师叔
  • 2022 年 8 月 05 日
  • 本文字数:583 字

    阅读完需:约 2 分钟

MySQL 概念

MySQL 数据库

MySQL 是一种关系型数据库。开源免费,并且方便扩展。在 Java 开发中常用于保存和管理数据。默认端口号 3306。

MySQL 数据库主要分为 Server 和存储引擎两部分,现在最常用的存储引擎是 InnoDB。


指令执行过程

MySQL 数据库接收到用户指令后,首先由 Server 负责对数据操作的分析、处理和优化,再交给存储引擎执行数据存取操作。

连接器

连接器负责用户登录数据库时的身份认证,校验账户密码。校验通过后连接器会连接到权限表,并读取该用户的所有权限。如果连接未断开,即使该用户权限被管理员修改也不受影响。

查询缓存

缓存 SELECT 语句以及返回的结果。收到查询语句会首先和缓存比对,如果相同就直接从查询缓存里返回数据。

更新表后,这个表上的所有的查询缓存都会被清空。这导致实际使用场景中查询缓存的作用非常少,在 MySQL 8.0 版本后移除。

分析器

如果查询语句未命中缓存,或者是更新语句,那么将由分析器负责分析 SQL 语句的用途。

  1. 词法分析:提取关键字,提取 SQL 语句的关键元素,明确 SQL 语句的功能。

  2. 语法分析:判断 SQL 语句是否正确,是否符合 MySQL 的语法。如果不符合语法则返回错误信息。

优化器

明确 SQL 语句功能后,由优化器负责选择尽可能最优的执行方案。比如多个索引的时候选择索引,多表查询的时候选择关联顺序。

执行器

确定执行方案后,由执行器负责校验该用户有没有权限,并交由存储引擎执行语句,然后从存储引擎返回数据。


发布于: 刚刚阅读数: 4
用户头像

武师叔

关注

每天丰富自己,去过自己想要的生活! 2022.04.28 加入

一个喜欢最新技术,研发的人工智能专业的大二学生,用自己的代码做一些有意义的事情! 目前大二结束有去大厂研发岗实习的计划,每天丰富自己的技术,去过自己想要的实习生活。

评论

发布
暂无评论
MySQL 概念_8月月更_武师叔_InfoQ写作社区