• 看了那么多 MySQL 教程,90% 的同学依然写不对的一个简单 SQL

    前情提要MySQL 这两年越来越被开发者重视,市面上也出现了一些优秀的教程,使更多的人了解到了 MySQL 底层的逻辑。但对于我们来说 MySQL 最基本最常用的查询语句的编写,仍然需要最扎实的基本功。本文以一个简单的两表关联来讲解一个 SQL 语法。MySQL 两个表进行关联,table1.a ...

    谈谈 MySQL 锁

    一、前言MySQL的并发控制是在数据安全性和并发处理能力之间的权衡,通过不同的锁策略来决定对系统开销和性能的影响。只要存在多个客户端同时修改更新数据,就会存在并发问题,MySQL通过MVCC和锁来处理这一问题。二、锁的粒度LockTypeMySQL源码中定义了两种锁的粒度,分别是表锁和行锁。/**L...

    MySQL 加索引会锁表吗

    代码上线一段时间后通过APM工具发现慢查询,有一些场景需要我们对MySQL表加索引来优化,利用索引本身会加速查询,或者利用索引覆盖、索引下推等方式来优化SQL的执行效率。通常这个时候我们会小心翼翼,毕竟在生产环境上加索引,如果导致锁表,对业务的影响巨大,甚至造成多个服务直接STOPTHEWORLD。...

    MySQL索引入门

    一、什么是索引一般来说,数据库中所存放的数据量级动辄几十万上百万,在大型项目中甚至达到数千万,当我们需要查询某些符合我们要求的数据时,把一条一条数据进行检索对比,速度会非常慢。就像小时候我们拿着一本新华字典,碰到不认识的字时并不会一页一页每个字都看一下是不是要查的字,而是像老师教我们的那样,先从目录...