

😲 SQL语句中 left join 后用 on 还是 where,区别大了!
前天写SQL时本想通过AleftBjoinonand后面的条件来使查出的两条记录变成一条,奈何发现还是有两条。后来发现joinonand不会过滤结果记录条数,只会根据and后的条件是否显示B表的记录,A表的记录一定会显示。不管and后面的是A.id=1还是B.id=1,都显示出A表中所有的记录,并关
标签 MySQL 的文章
关于 《MySQL》 的文章


前天写SQL时本想通过AleftBjoinonand后面的条件来使查出的两条记录变成一条,奈何发现还是有两条。后来发现joinonand不会过滤结果记录条数,只会根据and后的条件是否显示B表的记录,A表的记录一定会显示。不管and后面的是A.id=1还是B.id=1,都显示出A表中所有的记录,并关


前言本文将跟大家聊聊InnoDb的锁,以及如何分析和解决死锁问题,希望对大家有帮助哈。为什么需要加锁呢?InnoDB的七种锁介绍一条SQL是如何加锁的RR隔离级别下的加锁规则如何查看事务加锁情况死锁案例分析1.为什么需要加锁?为什么需要加锁呢?在日常生活中,如果你心情不好想静静,不想被比别人打扰,你


1.什么是数据库事务?事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。假如A转账给B100元,先从A的账户里扣除100元,再在B的账户上加上100元。如果扣完A的100元后,还没来得及给B加上,银行系统异常了,最后导致A的余额减少了,B的余额却没


前言最近在开发需求的时候,用到了select......forupdate。在代码评审的时候,一位同事说,唯一索引+一个非索引字段,是否可能会锁全表呢?本文将通过9个实验操作的例子,给大家验证select......forupdate到底加了什么锁,是表锁还是行锁。因为加锁是跟数据库的隔离级别息息相


这是一篇介绍悲观锁和乐观锁的入门文章。旨在让那些不了解悲观锁和乐观锁的小白们弄清楚什么是悲观锁,什么是乐观锁。不同于其他文章,本文会配上相应的图解让大家更容易理解。通过该文,你会学习到如下的知识。锁(Lock)在介绍悲观锁和乐观锁之前,让我们看一下什么是锁。锁,在我们生活中随处可见,我们的门上有锁,


前言金三银四很快就要来啦,准备了数据库锁的12连问,相信大家看完肯定会有帮助的。1.为什么需要加锁在日常生活中,如果你心情不好想静静,不想被比别人打扰,你就可以把自己关进房间里,并且反锁。这就是生活中的加锁。同理,对于MySQL数据库来说的话,一般的对象都是一个事务一个事务来说的。所以,如果一个事务


SQL语句的执行顺序:1、LIMIT语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般DBA想到的办法是在type,name,create_time字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。SELECT*FROMoperationWH


一、前言在日常开发中,我们往往会给表加各种索引,来提高MySQL的检索效率。但我们有时会遇到明明给字段加了索引,并没有走索引的Case。进而导致MySQL产生慢查询。严重场景下,甚至出现主从延迟、数据库拖垮的极端事故。本文梳理出索引失效的几种常见场景给大家参考。二、技术基础Explain命令使用只要


SQL基础使用MySQL是一种关系型数据库,说到关系,那么就离不开表与表之间的关系,而最能体现这种关系的其实就是我们接下来需要介绍的主角SQL,SQL的全称是StructureQueryLanguage,结构化的查询语言,它是一种针对表关联关系所设计的一门语言,也就是说,学好MySQL,SQL是基础


有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16s938ms(execution:16s831ms,fetching:107ms),按照下文的方式调整SQL后,耗时347ms(execution:163ms,fetching:184ms)