目录

    • 一、先了解一下MySQL查询的执行过程
    • 二、是否查询了不需要的数据
    • 三、衡量查询开销的几个重要指标
      • 1、响应时间
      • 2、扫描的行数和返回的行数
      • 3、扫描的行数和访问类型
      • 4、一般可以通过explain的Extra列查看查询的优劣
      • MySQL进阶实战系列文章
      • 哪吒精品系列文章

一、先了解一下MySQL查询的执行过程

MySQL在查询时,它是由很多子任务组成的,每个子任务都会消耗一定的时间,如果要想优化查询,实际上要优化其子任务,可以消除一些子任务、减少子任务的执行次数、让子任务执行的更快。

MySQL查询的执行过程:从客户端到服务器、然后在服务器进行解析、生成执行计划、执行、返回结果给客户端。

执行是最重要的阶段,包括调用存储引擎检索数据、调用后的数据处理、排序、分组等;

查询需要在不同的地方花费时间,包括网络、CPU计算、生成统计信息、生成执行计划、锁等待等,尤其是向底层存储引擎检索数据的调用操作,这些调用需要在内存操作、CPU操作和内存不足时导致的IO操作上花费时间。根据存储引擎不同,可能还会产生大量的上下文切换以及系统调用。

不必要的额

更多推荐

MySQL数据库基础知识5,为什么查询速度会慢