摘要: 1 前言 我们上节MySQL InnoDB 引擎的默认隔离级别虽然是「可重复读」,但是它很大程度上避免幻读现象(并不是完全解决了),解决的方案有两种: 针对快照读(普通 select 语句),是通过 MVCC 方式解决了幻读,因为可重复读隔离级别下,事务执行过程中看到的数据,一直跟这个事务启动时看到 阅读全文
posted @ 2023-05-24 10:40 酷酷- 阅读(394) 评论(0) 推荐(0)
摘要: 1 前言 这节我们来看看 MySQL中的事务,比如我们生活中的转账,要保证转账业务里的所有数据库的操作是不可分割的,要么全部执行成功 ,要么全部失败,不允许出现中间状态的数据。数据库中的「事务(Transaction)」就能达到这样的效果。 我们在转账操作前先开启事务,等所有数据库操作执行完成后,才 阅读全文
posted @ 2023-05-24 10:19 酷酷- 阅读(115) 评论(0) 推荐(0)
摘要: 1 前言 这节我们来看个小问题: 题目1:一个表有多个字段,其中 name 是索引字段,其他非索引,id 拥有自增主键索引。 题目2:一个表有2个字段,其中 name 是索引字段,id 拥有自增主键索引。 上面两张表,分别执行以下查询语句: select * from s where name li 阅读全文
posted @ 2023-05-24 07:13 酷酷- 阅读(193) 评论(0) 推荐(0)
摘要: 1 前言 在工作中,如果我们想提高一条语句查询速度,通常都会想对字段建立索引。 但是索引并不是万能的。建立了索引,并不意味着任何查询语句都能走索引扫描。 稍不注意,可能你写的查询语句是会导致索引失效,从而走了全表扫描,虽然查询的结果没问题,但是查询的性能大大降低。 今天就来跟大家盘一盘,常见的 6 阅读全文
posted @ 2023-05-24 07:01 酷酷- 阅读(101) 评论(0) 推荐(0)
摘要: 1 前言 作为在后端圈开车的多年老司机,是不是经常听到过: “MySQL 单表最好不要超过 2000W” “单表超过 2000W 就要考虑数据迁移了” “你这个表数据都马上要到 2000W 了,难怪查询速度慢” 这些名言民语就和 “群里只讨论技术,不开车,开车速度不要超过 120 码,否则自动踢群” 阅读全文
posted @ 2023-05-24 06:43 酷酷- 阅读(137) 评论(0) 推荐(0)