mysql小表驱动大表

news2024/11/26 2:50:02

摘要:
小表驱动大表为了减少匹配时的数据量
判断谁做小表时,是比较算上过滤条件后的数量
left join时手动设置小表驱动大表
inner join时优化器会自动小表驱动大表

course–100条数据
student_info–100w条数据
优化器会选择小表驱动大表(这里表指的是结果集)
EXPLAIN SELECT a.*,b.* FROM coursea JOINstudent_info b ON a.course_id=b.course_id``
在这里插入图片描述
加上过滤student_info的条件

EXPLAIN
SELECT a.*,b.* FROM `course` a JOIN `student_info` b ON a.`course_id`=b.`course_id` WHERE b.`student_id`=1

执行计划改变,由小表student_info驱动大表course,得出优化器先走where后join的结论。
在这里插入图片描述
论证:查看优化器执行(只截取from后的内容)

from atguigudb1.course a join atguigudb1.student_info b where ((atguigudb1.a.course_id = atguigudb1.b.course_id) and (atguigudb1.b.student_id = 1))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/643864.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用VMware Workstation一步一步安装Rocky Linux 9

目录 目录 背景 准备阶段 新建虚拟机 安装Rocky Linux 进入系统 背景 Rocky Linux 简介 企业Linux,社区方式。 Rocky Linux是一个开源的企业操作系统,旨在与红帽企业Linux100%兼容。社区正在大力发展。 Rocky Linux 9.2 于2023年5月16日发布&a…

计算机组成原理(六)指令系统

一、指令的基本格式 1.1机器指令的相关概念 指令集(Instruction Set) 某机器所有机器指令的集合 *定长指令集 指令集中的所有指令长度均相同!取指令控制简单*不定长指令集 指令集中的所有指令长度有长、有短 操作码 (1)长度固定 用于指令字长较长的情况RISC 如IBM370操作码8位…

第四章 Linux网络编程 4.1 网络结构模式 4.2MAC地址、IP地址、端口

第四章 Linux网络编程 4.1 网络结构模式 C/S结构 简介 服务器 - 客户机,即 Client - Server(C/S)结构。C/S 结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。客户机是因特网上访问别人信息的机器…

Ubuntu16.04.7+Qt15.5.0环境配置(一条龙讲解)

目录 1、下载并安装Ubuntu 2、Qt下载与安装 3、Qt环境配置 4、设置编译套件 5、创建qt快速启动脚本 1、下载并安装Ubuntu Ubuntu16.04.7下载链接https://releases.ubuntu.com/xenial/ 安装步骤省略。 2、Qt下载与安装 在Qt5.15之后的版本,官方都不提供离线安装…

Allegro因为精度问题导致走线连接不上的解决办法

Allegro因为精度问题导致走线连接不上的解决办法 在用Allegro做PCB设计的时候,尤其是从其它单板上导数据过来的时候,有时会因为精度不一致导致连接不上,如下图 线和过孔因为精度有微小的连接偏差 一般来说,可以逐个重新连接一下,但是如果连接点位比较多的话,需要花费较多…

在windos中同时使用gitee与github

1.为什么这样做? 原因非常简单,我们遇到自己喜欢的git仓库后,通常会将他们克隆到我们本地电脑上,但这个时候会有一个问题,就是我们喜欢的仓库有可能是gitee仓库,也有可能是github仓库,这个时候…

Windows YOLO v8训练自己的数据集

YOLO v8 训练自己的数据集 环境准备YOLO v8创建自己的数据集1.首先准备了VOC 格式的数据集2.然后确定用于训练、测试的数据3.将VOC格式标注转为YOLO 标注4.配置数据文件 yaml 配置 YOLO v8安装和训练安装依赖包训练 环境准备 这里我的环境是Windows 环境 YOLO v8 下载链接&a…

dma-fence使用demo

dma-fence是内核中一种比较常用的同步机制,本身的实现和使用并不复杂,其只有两种状态signaled和unsignaled。可能正是因为其本身的精简,在融入其他概念中时,在不同的环境下,赋予了dma-fence不同的含义。所以通常需要根据dma-fence…

DragGAN论文阅读

文章目录 摘要问题3. 算法:3.1 基于点的交互式操作3.2 运动监督3.3 点跟踪 4. 实验4.1 质量评估4.2 量化评估4.3 讨论 结论 论文: 《Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold》 github: htt…

一文学会Git管理代码仓库

文章目录 一、预备知识1.Linux常用指令2.vim编辑器基本使用 二、Git基础1.工作区、暂存区、本地仓库和远程仓库2.git init3.git add4.git status5.git commit6.git push7.git pull8.git 分支管理(branch、checkout、merge)9.git clone和log10.git diff11.git fetch12.git rm13.…

汽车IVI中控开发入门及进阶(九):显示屏

前言: 显示屏Display panel和触控屏Touch panel,可以说随着汽车四化的进展,屏越来越多,越来越大,越来越高清,成为IVI中控、智能座舱系统的重要组成部分。比如如下一个电阻触摸屏。 正文: 显示屏 主要功能就是显示,车载内容和信息的传递全靠显示屏,目前车载显示屏的…

Java企业级开发学习笔记(4.4)Spring Boot加载自定义配置文件

一、使用PropertySource加载自定义配置文件 1.1 创建Spring Boot项目 创建Spring Boot项目 单击【创建】按钮 1.2 创建自定义配置文件 在resources里创建myconfig.properties文件 设置文件编码 设置学生的四个属性值 1.3 创建自定义配置类 在cn.kox.boot包里创建confi…

毕业季Android开发面试,有哪些常见的题?

前言 对于计算机行业早已烂大街,随之而来的毕业季。还会有大批的程序员涌进来,而我们想要继续进入Android开发岗位的人员,最先考虑的是面试。面试题是我们决定踏进工作的重要环节。 对于刚毕业的实习生来说,如何在应聘中脱颖而出…

uniapp 使用app-plus自定义导航栏(titleNView)右侧自定义图标+文字按钮

前言 最近在使用uni-app写H5移动端时候,在pages.json文件配置导航栏的图标时发现不生效 去官网查阅了很久,意思是不支持本地图片,支持iconfont.ttf(iconfont本地下载)格式图片 意思是在导航栏的图标需要在iconfont图…

Synchronized 偏向锁、轻量级锁、自旋锁、锁消除

一、重量级锁 上篇文章中向大家介绍了Synchronized的用法及其实现的原理。现在我们应该知道,Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实现的。而操作系统实…

【从Spring Cloud到Spring Cloud Alibaba,这些改变你都知道吗?】—— 每天一点小知识

💧 从 S p r i n g C l o u d 到 S p r i n g C l o u d A l i b a b a ,这些改变你都知道吗? \color{#FF1493}{从Spring Cloud到Spring Cloud Alibaba,这些改变你都知道吗?} 从SpringCloud到SpringCloudAlibaba&#…

【LeetCode训练营 189】轮转数组详解

💯 博客内容:【LeetCode训练营 189】轮转数组详解 😀 作  者:陈大大陈 🚀 个人简介:一个正在努力学技术的准前端,专注基础和实战分享 ,欢迎私信! 💖 欢迎大…

Tensorflow训练代码1.x接口自动升级2.x踩坑记录

Tensorflow训练代码1.x接口自动升级2.x踩坑记录 TF准备工作环境问题解决自动升级脚本,从TF1.0调通到TF2.0 一起学AI系列博客:目录索引 本文小结Tensorflow训练代码1.x接口自动升级2.x踩坑过程和问题解决的方法。 TF准备工作 Tensorflow环境准备 前提已…

【MySQL高级篇笔记-多版本并发控制MVCC(下) 】

此笔记为尚硅谷MySQL高级篇部分内容 目录 一、什么是MVCC 二、快照读与当前读 1、快照读 2、当前读 三、复习 1、再谈隔离级别 2、隐藏字段、Undo Log版本链 四、MVCC实现原理之ReadView 1、什么是ReadView 2、设计思路 3、ReadView的规则 4、MVCC整体操作流程…

操作系统(5.2)--请求分页储存管理模式

目录 请求分页的硬件支持 1.页表机制 2.缺页中断机构 3.地址变换机构 请求分页中的内存分配 1.最小物理块数的确定 2.内存分配策略 3.物理块分配算法(采用固定分配策略时) 页面调度策略 1.何时调入页面 2.从何处调入页面 3.页面调入过程 请求分页的硬件支持 内存、…