MySQL45讲(一)(44)

news/2024/12/22 23:41:36/

该文章提到的是问题

有一个知识点就是不一定left join的左边就一定是驱动表,就比如左边如果查询的列是有索引的,那么在使用索引的情况下,右边的表应该是驱动表

对于SNL和BNL的区别在于,对于被驱动表的匹配条件一个是每一行会先在buffer pool中进行查找,没有就去磁盘中取,另一个就是先全部取到内存中

在从磁盘中读取文件到内存中的这个操作中,对于被驱动表的数据进行多次访问,然后就会导致,这样超过一秒的话,数据就更容易放到buffer pool的头部,即使被驱动表的数据都在内存,每次的访问也是类似于指针操作,比不上join_buffer中的数组更快

distinct和 group by的操作性能一致

执行的语句就是开一个临时表,对于全表进行遍历,给查询字段加上唯一索引,然后遍历表,对于数据取出之后插入到临时表中,,如果临时表出现唯一键冲突就跳过,否则就插入成功,遍历完成之后就返回给客户端

对于备库自增主键的问题,对于insert_id=某个值的时候,如果A早于B但是提交的时候B早于A的话,binlog就会更早,然后再主从的时候,如果你是处于binlog_format=statement的时候,应为只记录一条语句,就会导致语句A的id和语句B的id插入的顺序反过来了,导致数据出现问题,但是如果你使用的binlog_format=row格式的话,再每条语句执行前,会加入一个set statement=id的格式来明确表示,接下来的语句的自增id填哪一个,所以就可以保证不会出错

对于left join ... where ...这句话的话,会转换成join ... where ...

还有一个小知识点就是,dinstinct的去重,每次都是拿到主键第一的位置的行数据,也就说,a=1有3行,就拿出主键id最小的放到临时表中


http://www.ppmy.cn/news/1453332.html

相关文章

轻松应对数据恢复挑战:雷神笔记本,不同情况不同策略

在数字化时代,数据无疑是我们生活中不可或缺的一部分。无论是重要的工作文件、珍贵的家庭照片,还是回忆满满的视频,一旦丢失,都可能给我们的生活带来诸多不便。雷神笔记本作为市场上备受欢迎的电脑品牌,用户在使用过程…

程序的机器级表示——Intel x86 汇编讲解

往期地址: 操作系统系列一 —— 操作系统概述操作系统系列二 —— 进程操作系统系列三 —— 编译与链接关系操作系统系列四 —— 栈与函数调用关系操作系统系列五 —— 目标文件详解操作系统系列六 —— 详细解释【静态链接】操作系统系列七 —— 装载操作系统系列…

开源免费的网盘项目Cloudreve,基于Go云存储个人网盘系统源码(七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive)

项目简介: 在现今的网盘服务中,用户经常遭遇限速和价格上涨的问题,这无疑增加了使用上的困扰。 为此,我今天要介绍一款开源且免费的网盘项目——Cloudreve。 这个项目是基于Go语言开发的云存储个人网盘系统,支持多种…

幼猫粮适合几个月的猫?

关于幼猫粮的选择,你是否有过疑惑呢?幼猫粮适合几个月的猫呢?今天,就让我来为大家详细解答这个问题吧!🐾 首先,我们要明确一点,幼猫粮是为4-12个月大的小猫咪特别设计的。在这个阶段…

从零开始学AI绘画,万字Stable Diffusion终极教程(四)

【第4期】图生图 欢迎来到SD的终极教程,这是我们的第四节课 这套课程分为六节课,会系统性的介绍sd的全部功能,让你打下坚实牢靠的基础 1.SD入门 2.关键词 3.Lora模型 4.图生图 5.controlnet 6.知识补充 在前面的课程中,我…

【数据结构】初识数据结构

引入: 哈喽大家好,我是野生的编程萌新,首先感谢大家的观看。数据结构的学习者大多有这样的想法:数据结构很重要,一定要学好,但数据结构比较抽象,有些算法理解起来很困难,学的很累。我…

「Pudding Monsters」Solution

简述题意 给定一个 n n n \times n nn 的棋盘,其中有 n n n 个棋子,每行每列恰好有一个棋子。 对于所有的 1 ≤ k ≤ n 1 \leq k \leq n 1≤k≤n,求有多少个 k k k \times k kk 的子棋盘中恰好有 k k k 个棋子,输出其总和…

Ubuntu 18.0.4 安装 libc6 2.28 及公钥验证相关

今天打算在 window 11 上安装一个 OWT-Server 环境。照着网上的 OWT-Server 5.0编译与运行指南 通过 docker pull registry.cn-hangzhou.aliyuncs.com/wisefeng/owt-server:v5.0 安装了已打包好的 docker 文件(即已执行了 ./scripts/pack.js -t all步骤)…