2023-04-22 1121 阅读 值得一看 🔍️ 😲 SQL语句中 left join 后用 on 还是 where,区别大了! 前天写SQL时本想通过AleftBjoinonand后面的条件来使查出的两条记录变成一条,奈何发现还是有两条。后来发现joinonand不会过滤结果记录条数,只会根据and后的条件是否显示B表的记录,A表的记录一定会显示。不管and后面的是A.id=1还是B.id=1,都显示出A表中所有的记录,并关
2023-03-16 1112 阅读 实用干货 🌋 🧐 两万字详解InnoDB的锁 前言本文将跟大家聊聊InnoDb的锁,以及如何分析和解决死锁问题,希望对大家有帮助哈。为什么需要加锁呢?InnoDB的七种锁介绍一条SQL是如何加锁的RR隔离级别下的加锁规则如何查看事务加锁情况死锁案例分析1.为什么需要加锁?为什么需要加锁呢?在日常生活中,如果你心情不好想静静,不想被比别人打扰,你
2023-03-07 1079 阅读 实用干货 🌋 😎 MySQL事务的12连问,你顶得住嘛 1.什么是数据库事务?事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。假如A转账给B100元,先从A的账户里扣除100元,再在B的账户上加上100元。如果扣完A的100元后,还没来得及给B加上,银行系统异常了,最后导致A的余额减少了,B的余额却没
2023-03-03 1087 阅读 实用干货 🌋 😶 select for update加了行锁还是表锁? 前言最近在开发需求的时候,用到了select......forupdate。在代码评审的时候,一位同事说,唯一索引+一个非索引字段,是否可能会锁全表呢?本文将通过9个实验操作的例子,给大家验证select......forupdate到底加了什么锁,是表锁还是行锁。因为加锁是跟数据库的隔离级别息息相
2023-02-26 1084 阅读 实用干货 🌋 🌋 图文并茂的带你彻底理解悲观锁与乐观锁 这是一篇介绍悲观锁和乐观锁的入门文章。旨在让那些不了解悲观锁和乐观锁的小白们弄清楚什么是悲观锁,什么是乐观锁。不同于其他文章,本文会配上相应的图解让大家更容易理解。通过该文,你会学习到如下的知识。锁(Lock)在介绍悲观锁和乐观锁之前,让我们看一下什么是锁。锁,在我们生活中随处可见,我们的门上有锁,
2023-02-21 1089 阅读 实用干货 🌋 💥 数据库锁的12连问,你顶得住嘛? 前言金三银四很快就要来啦,准备了数据库锁的12连问,相信大家看完肯定会有帮助的。1.为什么需要加锁在日常生活中,如果你心情不好想静静,不想被比别人打扰,你就可以把自己关进房间里,并且反锁。这就是生活中的加锁。同理,对于MySQL数据库来说的话,一般的对象都是一个事务一个事务来说的。所以,如果一个事务