SQL优化-MySQL Explain中出现Select tables optimized away

news/2024/9/20 6:27:29 标签: sql, mysql, 数据库, 后端

文章目录

  • 前言
  • 相关解释
  • 总结


前言

今天在做SQL优化的时候,在使用explain执行SQL时,出现了以下情况:

sql">EXPLAIN SELECT m1.id
from station m1
INNER JOIN site s ON m1.code=s.stationcode
where  receivetime=(SELECT MAX(m2.receivetime) FROM station m2) 

在这里插入图片描述

相关解释

执行上述sql中的子查询

sql">EXPLAIN SELECT MAX(receivetime) FROM station m2

发现在Extra列出现Select tables optimized away时,table、type、possible_keys、key、key_len、ref、rows这些列都被赋上了NULL值。

id | select_type | table | partitions | type | key | key_len | ref | rows | filtered | Extra
1	  SIMPLE										                                   Select tables optimized away

以上sql查询中已经创建了receivetime字段的索引,此时sql查询时需要找到最大值,sql运行时只需要读取B-Tree索引的最后一条记录(最小值只需要查询对应B-Tree索引的最左端的记录)。因为索引直接一次就定位到了数据行,所以Extra列出现Select tables optimized away,表示优化器已经从执行计划中移除了该表,并以一个常数取而代之。

总结

Select tables optimized away一般在用如MIN()和MAX()函数访问存在索引的某个字段时,优化器会通过索引直接一次定位到所需要的数据行完成整个查询时展示



http://www.niftyadmin.cn/n/5666764.html

相关文章

HBASE_题库详解

1、 HBase的特点是什么? 1)大:一个表可以有数十亿行,上百万列 2)无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列 3…

C:字符串函数(完)-学习笔记

目录 前言: 1、strstr 1.1 strstr的使用 4.2 strstr的模拟实现 5、strtok 5.1 strtok函数的介绍 5.2 strtok函数的使用 6、strerror 前言: 这篇文章将介绍strstr函数,strtok函数,strerror函数 1、strstr 1.1 strstr的使用…

POI操作EXCEL增加下拉框

文章目录 POI操作EXCEL增加下拉框 POI操作EXCEL增加下拉框 有时候通过excel将数据批量导入到系统,而业务操作人员对于一些列不想手动输入,而是采用下拉框的方式来进行选择 采用隐藏sheet页的方式来进行操作 String sheetName "supplier_hidden_s…

【Nginx】Nginx 使用 SSL 的详细指南

目录 1. 引言2. 准备工作2.1 安装 Nginx在 Ubuntu 上安装 Nginx在 CentOS 上安装 Nginx 2.2 获取 SSL 证书使用 Let’s Encrypt 获取证书 3. 配置 Nginx 启用 SSL3.1 编辑 Nginx 配置文件3.2 添加 SSL 配置 4. 强化 SSL 配置4.1 选择安全的加密套件4.2 启用 HSTS 5. 测试 SSL 配…

WEB攻防-JavaWweb项目JWT身份攻击组件安全访问控制

知识点: 1、JavaWeb常见安全及代码逻辑; 2、目录遍历&身份验证&逻辑&JWT; 3、访问控制&安全组件&越权&三方组件; 演示案例: JavaWeb-WebGoat8靶场搭建使用 安全问题-目录遍历&身份认…

【图像压缩与重构】基于BP神经网络

课题名称:基于BP神经网络的图像压缩与重构(带GUI) 相关资料: 1. 代码注释 2.BP神经网络原理文档资料 3.图像压缩原理文档资料 程序实例截图:

【machine learning-七-线性回归之成本函数】

监督学习之cost function 成本函数权重、偏置如何实现拟合数据成本函数是如何寻找出来w和b,使成本函数值最小化? 在线性回归中,我们说到评估模型训练中好坏的一个方法,是用成本函数来衡量,下面来详细介绍一下 成本函数…

Linux通过yum安装Docker

目录 一、安装环境 1.1. 旧的docker包卸载 1.2. 安装常规环境包 1.3. 设置存储库 二、安装Docker社区版 三、解决拉取镜像失败 3.1. 创建文件目录/etc/docker 3.2. 写入镜像配置 https://docs.docker.com/engine/install/centos/ 检测操作系统版本,我操作的…