• MySQL 体系架构


    MySQL 体系架构

    本篇文章是对mysql体系结构进行了详细的分析介绍,需要的朋友参考下

     上面一图是mysql的概览图,我们从上往下看, 我们把上面一图一分为二,我们可以吧它分为两个部分, 

      1,是connectors 的部分,即客户端部分

      2,是大块的mysql server

    把它个个部件拆开来看我们一个个来解析

    1. connectors

      指的就是mysql的客户端,

    1. Management Serveices & Utilities:

      这是mysql 的系统管理和控制工具,如bin 目录下的mysql,mysqldump,cluster 之类的东西

    2. Connction pool 

      管理缓冲用户连接 ,线程处理等需要缓存的需求,他提供如下用能,

    1. authentication 验证机制,验证用户名,密码,Ip,权限
    2. Thread Reuse 分配线程.
    3. Connection Limits 链接限制(池子大小);
    4. Check Memory 检查连接池内存空间大小,如用了多少还剩多少,有多少个连接正在运行之类的检查
    5. caches 缓存池

    4. SQL Interface: SQL接口。

      接受用户的SQL命令,并且返回用户需要查询的结果。假如用户只需的是标准的SQL的话那必然会经过这一步,

      它会对我们的命令 如 DML,DDL,Stored Procedure,Views,Triggers,etc  分解成一个个基本元素(也叫令牌,令牌环),然后把这些基本元素放到一个数据结构里面

    5. Parser: 解析器。

    1. Query Transactional 查询事物
    2. Object Privilege 权限认证

     

      

    6. Optimizer: 查询优化器。

      我们队mysql进行优化有很大一部分是在这里进行 ,它这里做的无非就是对SQL进行优化,得到最佳的执行计划 ,

      在这个里面呢它会确认我们的

    1. access paths连接通道,
    2. statistics 采集我们的统计信息

      -- 而得到最佳的执行计划

      SQL语句在查询之前会使用查询优化器对查询进行优化。他使用的是“选取-投影-联接”策略进行查询。

    用一个例子就可以理解: select uid,name from user where gender = 1;

    这个select 查询先根据where 语句进行选取,而不是先将表全部查询出来以后再进行gender过滤

    这个select查询先根据uid和name进行属性投影,而不是将属性全部取出以后再进行过滤

    将这两个查询条件联接起来生成最终查询结果

    7. Cache和Buffer: 查询缓存。

      如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。

      这个缓存机制是由一系列小缓存组成的。比如表缓存,记录缓存,key缓存,权限缓存等

    8. Engine :存储引擎。

      存储引擎是MySql中具体的与文件打交道的子系统。也是Mysql最具有特色的一个地方。

      Mysql的存储引擎是插件式的。它根据MySql AB公司提供的文件访问层的一个抽象接口来定制一种文件访问机制(这种访问机制就叫存储引擎)

      现在有很多种存储引擎,各个存储引擎的优势各不一样,最常用的MyISAM,InnoDB,BDB

      如:

      MyISAM引擎,它查询速度快,有较好的索引优化和数据压缩技术。但是它不支持事务。

      InnoDB支持事务,并且提供行级的锁定,应用也相当广泛。 
      Mysql也支持自己定制存储引擎,甚至一个库中不同的表使用不同的存储引擎,这些都是允许的。

    9. 文件系统和日志系统

      

  • 相关阅读:
    Eclipse背景颜色设置
    SQL ROW_NUMBER() OVER函数的基本用法用法
    hdu 2844 Coins 多重背包问题
    VC++学习/MFC (1)
    java学习 (1)
    hdu 1506 City Game 二维的多重背包
    java学习(2)
    VC++学习/MFC (2)
    hdu 1506 Largest Rectangle in a Histogram
    hdu 1171 Big Event in HDU
  • 原文地址:https://www.cnblogs.com/mjorcen/p/4063297.html
Copyright © 2020-2023  润新知