zoukankan      html  css  js  c++  java
  • mysql工作流程

    1.connector sql交互语言,phpjava

    2.系统管理和控制工具

    3.连接池 管理缓冲用户连接,线程处理等需要缓存的需求

    4.Sql接口接受sql命令,返回查询结果

    5.解释器 sql命令传递到解析器进行解析和验证

       分解sql语句成数据结构后边语句的传递都基于这个结构

       解析过程中验证sql的合法性,解析出错不继续解析

    6.查询优化器

       Sql语句解析后进行查询之前会进行查询优化,(产生多种执行计划,选择最优)

    7.cachebuffer 查询缓存 查询缓存有命中的查询结果就直接去缓存中取数据

      这种缓存机制由一系列小缓存组成 比如表缓存 key缓存 权限缓存

    8.engine存储引擎

      和文件打交道的子系统,也是具体进行数据存储和取出数据的地方 插件式

      的文件访问机制

    9.数据库一般是由其他编程语言通过sql调用,mysql处理并返回结果

       首先通过connector进行交互,请求会暂存connection pool由管理器管理

       请求从等待队列进入处理队列后,管理器会把请求丢给sql接口

       Sql接口收到请求后,进行hash处理并和缓存结果进程对比,通过匹配就返回结果

       否则丢给解释器-》解析成数据结构验证sql合法-》优化器优化查询计划-》交给存储引擎到磁盘获取数据,返回给程序

    10.缓存查询数据

      存储引擎处理完数据返回给程序时还会保留一份数据到缓存中以便处理下次相同的请求

          执行语句+执行结果-hash 保存到cache

    11.cachebuffer区别

     

       Buffer是写缓存 cache是读缓存

     

      

  • 相关阅读:
    windows 程序设计的一些总结
    Ubuntu 16.04 LTS 安装开发工具
    C++ 虚函数表
    day 14 函数的嵌套,作用域
    命名空间(名称空间)
    day15编码
    day16迭代器
    day5
    day4
    day3
  • 原文地址:https://www.cnblogs.com/hellohell/p/6505361.html
Copyright © 2011-2022 走看看