
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据库服务器是大多数后端开发程序员都需要重点掌握的一个编程知识,下面我们就通过案例分析来了解一下,mysql数据库都包含哪些结构层次。
客户端:这里指连接MySQL各种形式,如.Net中使用的ADO连接、Java使用JDBC连接等;MySQL是客户端和服务器模式,前提先建立连接,才能传输数据,处理相关逻辑;
业务逻辑:在MySQL内部有很多模块组成,分别处理相关业务逻辑;
连接管理:负责连接认证、连接数判断、连接池处理等业务逻辑处理;
查询缓存:当一个SQL进来时,如果开启查询缓存功能,MySQL会优先去查询缓存中检查是否有数据匹配,如果匹配上,就不会再去解析对应的SQL啦,但如果语句中有用户自定义函数、存储函数、用户变量、临时表、mysql库中的系统表时,都不会走缓存;对于查询缓存来说,在MySQL8.0已经去除,官方回应的是在一定场景上,查询缓存会导致性能上的瓶颈。
解析器:对于一个SQL语句,MySql根据语法规则需要对其进行解析,并生成一个内部能识别的解析树;
优化器:负责对解析器得到的解析树进行优化,MySQL会根据内部算法找到一个MySQL认为优的执行计划,后续就按照这个执行计划执行。所以后续我们分析的就是MySQL针对SQL语句选择出来的优执行计划,结合业务,根据规则对SQL进行优化,从而让SQL语句在MySQL内部达到真正的优。
执行器:得到执行计划之后,就会找到对应的存储引擎,根据执行计划给出的指令依次执行。
存储引擎:数据的存储和提取后是靠存储引擎;MySQL内部实现可插拔式的存储引擎机制,不同的存储引擎执行不同的逻辑;
物理文件:数据存储的终位置,即磁盘上;协同存储引擎对数据进行读写操作。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。