zoukankan      html  css  js  c++  java
  • MySql架构

    一、我们来看一个结构大致图形

    二、MySql逻辑架构-连接层

     

    当Mysql启动时候(Mysql服务器就是一个进程),等待客户端连接,每一个客户端连接请求,服务器就创建一个线程来处理,

    (如果是线程池的话,则是分配一个空的线程),每个线程独立,拥有各自的内存空间,但是,如果这个请求只是查询的话,没关系,;

    但是若是修改数据,很显然,当两个线程修改同一块数据的时候,会引发数据同步问题;

    三、MySql逻辑架构-SQL处理层 

     

    四、MySql逻辑架构-SQL处理层

     

    1. 主要功能:

    SQL语句的解析、优化、缓存查询、Mysql内置函数的实现,跨存储引擎功能(所谓跨存储引擎就是说每个引擎都是需要提供的功能(引擎需要对外提供接口)),例如:存储过程、触发器、试图等;

    2. 实现步骤:

    2.1 如果是查询语句(select语句)

    首先会查询缓存是否已经有相应的结果,有则返回结果,无则进行下一步

    2.2 解析查询:

    创建一个内部数据结构(解析树),这个解析树主要用来SQL语句与语法的解析;

    2.3 优化:

    优化SQL语句,例如重写查询,决定表的读取书序,以及选择需要的索引等。这一个阶段用户是可以查询的,查询服务器优化器是如何进行优化的,便于用户重构查询和修改相关配置,达到最优化。这一阶段还涉及到存储引擎,优化器会询问存储引擎,比如某个操作的开销信息、是否对特定索引有查询优化等;

  • 相关阅读:
    ES6模块开发+单文件组件
    Vue路由学习
    Vuex学习
    Vue组件
    Vue事件处理
    Git下载前后端代码步骤
    小黑记事本
    简单计算器
    ubuntu的基础命令
    拓扑排序以及求解关键路径
  • 原文地址:https://www.cnblogs.com/lys-lyy/p/11156089.html
Copyright © 2011-2022 走看看