博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql 架构
阅读量:5879 次
发布时间:2019-06-19

本文共 803 字,大约阅读时间需要 2 分钟。

MySQL由SQL接口,解释器,优化器,缓存,存储引擎构成

  1. Connectors

    不同语言与SQL交互。

  2. Management Services &Utilities

    系统管理和控制工具。

  3. Connection Pool

    连接池,管理缓冲用户连接,线程处理所需要的缓存。

  4. SQL Interface

    接受用户的SQL命令,返回用户查询结果,比如 select from 就是调用 sql interface

  5. Parser

    解释器 ,SQL命令传递到解释器的时候会被解释器验证和解析,解释器由Lex和YACC实现(一个很长的脚本),主要功能,将SQL语句分解成数据结构,并将这个结构传递到后续步骤,以后的SQL语句的传递和处理都是基于这个结构,如果在分解构成中遇到错误,说明这个sql语句是不合理的

  6. Optimizer

    查询优化器,SQL语句在查询之前会使用查询优化器对查询进行优化,他使用的是“选取-投影-连接”进行查询,用一个例子就可以理解:select uid,name from user where gender =1;这个select 查询先根据where语句进行选取,而不是先将表全部查询出来以后再进行gender过滤,这个select 查询先根据uid和name进行属性投影,而不是将属性全部取出以后再进行过滤,将这2个查询条件连接起来生成最终查询结果。

  7. Cache和Buffer查询缓存

    这个查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据,这个缓存机制由一系列小缓存组成,比如表缓存,记录缓存,key缓存,权限缓存

  8. Enginee

    存储引擎,存储引擎是MySql和文件打交道的具体子系统,MySQL的存储引擎是插件式的,它根据MySql AB公司提供的文件访问层的一个抽象接口来定制一种文件访问机制(这个访问机制就叫做存储引擎),一个库中不同表使用不同的存储引擎也是允许的。

转载地址:http://nscix.baihongyu.com/

你可能感兴趣的文章
IntelliJ IDEA JRebel Maven Tomcat 实现热部署
查看>>
Java通过join方法来暂停当前线程
查看>>
源码分析——Action代理类的工作
查看>>
spring 在service中需要抛出异常才能自动回滚
查看>>
人脸数据库大全(包括人脸识别、关键点检测、表情识别,人脸姿态等等)
查看>>
iOS UITableView表视图滚动隐藏UINavigationController导航栏
查看>>
SDL如何嵌入到QT中?!
查看>>
$(document).ready()
查看>>
RunLoop总结:RunLoop的应用场景(四)
查看>>
8个很实用的在线工具来提高你的Web设计和开发能力
查看>>
P1026 统计单词个数
查看>>
AndroidStudio EventBus报错解决方法its super classes have no public methods with the @Subscribe...
查看>>
Python RGB 和HSV颜色相互转换
查看>>
mybatis分页练手
查看>>
.net数据库连接字符串加密
查看>>
[js高手之路] html5 canvas系列教程 - 状态详解(save与restore)
查看>>
文件监控
查看>>
poi excel 常用api
查看>>
AD提高动态的方法(附SNR计算)
查看>>
[转]轻松实现可伸缩性,容错性,和负载平衡的大规模多人在线系统
查看>>