美文网首页
查询执行过程

查询执行过程

作者: stayiwithime | 来源:发表于2020-04-28 00:30 被阅读0次
执行查询过程概述

如图所示,客户端(Clients)发布查询的流程如下,首先连接MySql(connection Handing),然后发布查询,如果缓存(query cache)中有结果集,则直接返回结果集。如果缓存中没有,那么,MySql解析查询(Parser)将通过优化器(Optimizer)生成执行计划,然后运行执行计划通过API(Pluggable Storage Engine API)从存储引擎获取数据,并返回给客户端。

MySQL复制架构

假设有A,B,C三个MySQL实例,他们的复制模式如下:

  • 主从模式 A->B
  • 主主模式 A<-->B
  • 链式复制模式 A->B->C
    -环形复制模式 A->B->C->A
    生产中一般建议部署为主从模式,这也是最稳健的一种方式。
    为了方便切换,在一定程度上提高可用性,也可以选择主主模式。需要注意的是,主主模式必须保证任何时刻只有一个数据库是主动(Active)状态,也就是说同一时刻只能写入一个主(Master)节点,否则可能导致数据异常。
一些基础概念
  • 可扩展性
    可扩展性也称为伸缩性,指的是系统不断增长其承载能力的能力。它是能满足不断增长的负荷而自身性能仍然尚可的一种能力
  • 可用性
    可用性可以定义为系统保持正茬运行时间的百分比,比如一个系统一共运行了100分钟,有99分钟是正常运行的,那么可用性就是99%
  • 单点故障
    单点故障是指系统中的某个部分,一旦失败,将会导致整个系统无法工作。为了消除单点故障,一般需要增加冗余组件或冗余系统。比如冗余的服务器,备用的数据中心等。如果要设计高可用的服务,单点故障是需要尽量避免的。
  • 读写分离
    由于数据库只能接受有限的读请求。对于读请求较多的应用,数据库可能会成为瓶颈,为了增加读的能力,提高扩展性,因此引入了读写分离的技术。比如,利用复制技术配置多个从库,以承担更多的读请求,或者应用程序直接访问读库,或者通过一个负载均衡软件分发读请求。写入操作和一些读操作仍然访问主库。由于MySQL的复制是异步的,所以需要留意复制延时对读写分离的影响。

相关文章

  • 查询执行过程

    执行查询过程概述 如图所示,客户端(Clients)发布查询的流程如下,首先连接MySql(connection ...

  • MySQL查询执行过程

    MYSQL请求处理路径: MySQL请求处理流程: #1.为用户创建、分配处理线程。 #2.登录验证 #3.资源初...

  • Presto查询执行过程

    Presto中SQL运行过程 Coordinator接到SQL后,通过SQL语法解析器把SQL语法解析变成一个抽象...

  • mysql 执行查询过程

    1、客户端发送一条查询给服务器2、服务器会检查查询缓存,如果缓存中存在则会校验权限,如果权限通过将直接返回结果3、...

  • Clickhouse执行处理查询语句(包括DDL,DML)的过程

    CH查询执行过程 CH查询执行过程 总体过程 启动线程处理客户端接入的TCP连接; 接收请求数据,交给函数exec...

  • SQL执行与优化

    SQL优化 执行计划,表关联查询顺序,优化策略与思路 MYSQL执行过程 一、MySQL架构总览: 二、查询执行流...

  • MySQL基础

    MySQL查询执行过程 一条SQL语句执行的流程如下: 客户端连接 MySQL 服务器,发布查询 如果查询缓存中有...

  • PostgreSQL查询语句执行过程

    一、背景 为了分析postgresql代码,了解其执行查询语句的过程,我采用eclipse + gdb集成调试环境...

  • MySQL查询的执行过程

    我们总是希望MySQL能够获得更高的查询性能,最好的办法是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点...

  • MySQL查询语句执行过程

    查询请求的执行流程 众所周知在MySQL数据库应用中查询请求是使用最多的,假设我们输入代码段1 中的SQL,通过客...

网友评论

      本文标题:查询执行过程

      本文链接:https://www.haomeiwen.com/subject/cnypihtx.html