共计 663 个字符,预计需要花费 2 分钟才能阅读完成。
本篇内容介绍了“mysql 逻辑架构有哪几层”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
第一层,服务层 (为客户端服务): 为请求做连接处理,授权认证,安全等。
1. 每个连接的查询都在一个进程中的线程完成。
2. 服务器负责缓存线程,所以服务层不需要为每个连接新建线程。
注:mysql5.5 或者更新的版本提供了一个 API, 支持线程池(thread-pooling)插件,可以使用池中少量线程来服务大量的连接。 (类似于 oracle 中的共享连接方式)
第二层,核心层: 查询解析,分析,优化,缓存,提供内建函数; 存储过程,触发器,视图。
1. 优化器不关心使用的是什么存储引擎,但是存储引擎对优化查询有影响。
2. 在解析查询之前,服务器会“询问”是否进行了查询缓存 (只能缓存 SELECT 语句和相应结果)。缓存过的直接返回结果,未缓存的就需要进行解析查询,优化,重新执行返回结果。
3. 解析查询时会创建一个内部数据结构 (解析树),然后对其进行各种优化。
第三层,存储引擎层,不光做存储和提取数据,而且针对特殊数据引擎还要做事务处理。
1. 服务器通过 API 与存储引擎通信,接口屏蔽了不同存储引擎之间的差异,使得上层查询透明。
2. 不同存储引擎之间不会通信,只会简单相应上层服务的请求。
“mysql 逻辑架构有哪几层”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!