mysql执行步骤口诀:发连缓分析,优化执行器

mysql执行步骤:

1、我们在客户端发起一个SQL的查询;

2、连接器判断用户登录以及用户权限;

3、缓存命中,走缓存(mysql缓存不是redis缓存),直接返回查询结果;

3、缓存没命中,到达分析器,对SQL语句进行分析,包括预处理与解析过程;

4、优化器,对SQL语句进行优化;

5,执行器,调用存储引擎,执行具体的SQL操作;

6,将操作记录在undo log中,并存储回滚段指针和事务ID。

7,通过索引查找数据

8,写入redo log

9,写binlog

10,提交事务

总结一句话:发 连 缓 分析,优化 执行器

mysql执行步骤口诀:发连缓分析,优化执行器的更多相关文章

  1. 执行3小时超长SQL的分析优化过程:从索引遇见IS NULL,到最佳实践

    月底高峰期,对一个典型项目抽查分析时,发现了一个超级慢.全表扫描的SQL,语句很简单,AWR中赫然在列,在我统计的截止时间内还没有结束... 使用v$active_session_history进一步 ...

  2. MySQL执行计划分析

    原文:MySQL执行计划分析 一. 执行计划能告诉我们什么? SQL如何使用索引 联接查询的执行顺序 查询扫描的数据函数 二. 执行计划中的内容 SQL执行计划的输出可能为多行,每一行代表对一个数据库 ...

  3. (转)mysql执行计划分析

    转自:https://www.cnblogs.com/liu-ke/p/4432774.html MySQL执行计划解读   Explain语法 EXPLAIN SELECT …… 变体: 1. EX ...

  4. MySQL · 特性分析 · 优化器 MRR & BKA【转】

    MySQL · 特性分析 · 优化器 MRR & BKA 上一篇文章咱们对 ICP 进行了一次全面的分析,本篇文章小编继续为大家分析优化器的另外两个选项: MRR & batched_ ...

  5. mysql执行过程以及顺序

    前言:mysql在我们的开发中基本每天都要面对的,作为开发中的数据中间件,mysql承担者存储数据和读写数据的职责.因为学习和了解mysql是至关重要的,那么当我们在客户端发起一个sql到出现详细的查 ...

  6. sql语句执行步骤详解

    目录 一.准备工作 二.SQL逻辑查询语句执行顺序 三.SQL书写习惯 一.准备工作 先来一段伪代码,首先你能看懂么? SELECT DISTINCT <select_list> FROM ...

  7. make工作时的执行步骤

    GNU的make工作时的执行步骤 (1)读入所有的Makefile (2)读入被include的其它Makefile (3)初始化文件中的变量 (4)推导隐晦规则,并分析所有的规则 (5)为所有的目标 ...

  8. Mysql慢查询和慢查询日志分析

     Mysql慢查询和慢查询日志分析   众所周知,大访问量的情况下,可添加节点或改变架构可有效的缓解数据库压力,不过一切的原点,都是从单台mysql开始的.下面总结一些使用过或者研究过的经验,从配置以 ...

  9. MySql的Delete、Truncate、Drop分析

    MySql的Delete.Truncate.Drop分析 相同点: truncate 和不带 where 子句的 delete,以及 drop 都会删除表内的数据 不同点 1. truncate 和 ...

  10. mysql 执行流程

    mysql 执行流程 我们可以人为的把mysql 的主要功能分为如下模块. 1.初始化模块 mysql启动的时候执行初始化工作,如读取配置文件,分配一些全局变量(sql_model,catch buf ...

随机推荐

  1. AutoLayout + UILabel布局

    一.内容决定宽度 实现AutoLayout模式下面,UILabel跟随内容大小自动扩张,在storyboard中拖拽一个UILabel,将其居中,然后定时改变内容,不需要特别设置,那么UILabel宽 ...

  2. redhat8连接xshell命令卡顿

    取消下方  转发x11连接到(X) 再重新连接一遍 就好了

  3. numpy基础--ndarray(一种多维数组对象)

    NumPy基本介绍 NumPy(Numerical Python)是高性能科学计算和数据分析的基础包.其提供了以下基本功能: ndarray:一种具有矢量算术运算和复杂广播能力的快速且节省空间的多维数 ...

  4. 开机启动VM WARE 某台虚拟机

    新建一个批处理,内容如下: set vm_root=C:\Program Files (x86)\VMware\VMware Workstation "%vm_root%\vmrun.exe ...

  5. Centos7部署FytSoa项目至Docker——第二步:安装Mysql、Redis

    FytSoa项目地址:https://gitee.com/feiyit/FytSoaCms 部署完成地址:http://82.156.127.60:8001/ 先到腾讯云申请一年的云服务器,我买的是一 ...

  6. mongodb插入文档,更新文档和检索文档

    import com.mongodb.client.*; import com.mongodb.client.MongoClient; import com.mongodb.client.model. ...

  7. 从Purge机制说起,详解GaussDB(for MySQL)的优化策略

    本文分享自华为云社区<[华为云MySQL技术专栏]GaussDB(for MySQL) Purge优化>,作者:GaussDB 数据库. 在MySQL中,尤其是在使用InnoDB引擎时,P ...

  8. 何时/如何使用 std::enable_shared_from_this<T>?

    要点回顾 继承自 std::enable_shared_from_this<T> 的类能够在其自身实例中通过 std::shared_from_this 方法创建一个指向自己的 std:: ...

  9. 详解Web应用安全系列(1)注入漏洞之SQL注入

    注入漏洞通常是指在可输入参数的地方,通过构造恶意代码,进而威胁应用安全和数据库安全.常见的注入漏洞包括:SQL注入和XSS跨站脚本攻击. 这篇文章我们主要讲SQL注入,SQL注入即是指web应用程序对 ...

  10. vue.config.js配置优化

    vue.config.js完整代码如下: 'use strict'; // Template version: 1.3.1 // see http://vuejs-templates.github.i ...