Mysql的基础架构

mysql分为 server层 + 存储引擎层:

  • server层包括连接器、缓存、分析器、优化器、执行器等,以及所有的内置函数,还有存储过程,视图等跨存储引擎的功能。
  • 存储引擎层则负责数据的存储和提取,且存储引擎架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。其通过提供接口给server层,实现数据的增删改查。

要实现下面的sql查询,mysql各个组件操作流程是怎么样的呢?

select * from t_student where fname = 'jack';

首先客户端需要和mysql服务端建立连接,建立连接的过程如下:

注意事项:

  • 身份校验通过后,连接器会到权限表里面查出你拥有的权限。之后,这个连接里面的权限判断逻辑都将依赖于此时读到的权限。
  • show processlist 命令可以查看所有连接的状态(Command 列为 sleep 则是空闲 )
  • MySQL 在执行过程中临时使用的内存是管理在连接对象里面的。这些资源会在连接断开的时候才释放。所以长连接可能会有内存使用过大的风险,甚至会被强行kill掉。

然后进行sql查询,过程如下:

注意事项:

  • 只要对一个表做更新操作,这个表对应的所有的查询缓存都会被清空。所以使用缓存的前提是更新频率低,否则会影响性能。MySQL 8.0 版本直接将查询缓存的整块功能删掉了。
  • 对于我们这个例子,若fname没有建立索引,那么执行器会循环调用存储引擎接口,取出表中的每一行数据,并把 fname='jack' 的所有结果组装成集合返回给客户端
  • 在数据库的慢查询日志中有一个 rows_examined 的字段,执行器每次调用引擎获取数据行的时候,这个值就会累加。表示这个语句执行过程中扫描了多少行。注意,该字段并不代表存储引擎扫描行数,因为执行器调用一次接口,存储引擎可能扫描多行数据。
MySQL基础架构包括客户端、连接处理层、解析器、优化器和存储引擎。首先,客户端(比如jdbc和PHP)通过连接处理层连接到MySQL服务器。然后,解析器对SQL语句进行解析,将其转换为解析树。接下来,优化器对SQL语句进行优化,选择最优的执行计划。最后,优化器调用存储引擎的接口来执行SQL语句。存储引擎负责处理数据的存储和检索操作。这种架构允许MySQL在各个层次上进行优化和扩展,提供高效的数据访问和处理能力。 MySQL基础架构是游戏开发中使用MySQL的重要组成部分。在游戏开发中,通过MySQL可以实现数据的持久化存储和查询操作。首先,需要进行数据库设计,包括确定表结构和关系等。然后,通过数据查询可以获取游戏中所需的数据。同时,还需要考虑数据的安全性,比如使用合适的权限管理和加密机制来保护数据的安全性。通过掌握MySQL的基础知识和方法,可以更好地进行游戏开发和数据管理。 MySQL的起源可以追溯到1994年,由瑞典的MySQL AB公司开发。MySQL AB公司于2008年被Sun Microsystems收购,之后Sun Microsystems又被Oracle Corporation收购。MySQL是一种开源的关系型数据库管理系统,广泛应用于各种规模的应用程序和网站。MySQL具有高性能、可靠性和可扩展性,成为了最受欢迎的数据库管理系统之一。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [MySQL(一):架构体系](https://blog.youkuaiyun.com/Edwin_Hu/article/details/120910748)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [MySQL如何在游戏开发中使用](https://download.youkuaiyun.com/download/milk416666/88259896)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值