Gumihoy
06
03
03
08 | 事务到底是隔离的还是不隔离的 08 | 事务到底是隔离的还是不隔离的
我在第 3 篇文章和你讲事务隔离级别的时候提到过,如果是可重复读隔离级别,事务 T 启动的时候会创建一个视图 read-view,之后事务 T 执行期间,即使有其他事务修改了数据,这个事务看到的仍然跟在启动时看到的一样。也就是说,一个在可重
2019-06-03
03
09 | 普通索引和唯一索引,应该怎么选择 09 | 普通索引和唯一索引,应该怎么选择
在前面的基础篇文章中,我给你介绍过索引的基本概念,相信你已经了解了唯一索引和普通索引的区别。今天我们就继续来谈谈,在不同的业务场景下,应该选择普通索引,还是唯一索引? 假设你在维护一个市民系统,每个人都有一个唯一的身份证号,而且业务代码已经
2019-06-03
03
10 | MySQL为什么有时候会选错索引 10 | MySQL为什么有时候会选错索引
前面我们介绍过索引,你已经知道了在 MySQL 中一张表其实是可以支持多个索引的。但是,你写 SQL 语句的时候,并没有主动指定使用哪个索引。也就是说,使用哪个索引是由 MySQL 来确定的。 不知道你有没有碰到过这种情况,一条本来可以执行
2019-06-03
03
11 | 怎么给字符串字段加索引 11 | 怎么给字符串字段加索引
现在,几乎所有的系统都支持邮箱登录,如何在邮箱这样的字段上建立合理的索引,是我们今天要讨论的问题。 假设,你现在维护一个支持邮箱登录的系统,用户表是这么定义的: mysql> create table SUser( ID bigint un
2019-06-03
03
12 | 为什么我的MySQL会“抖”一下 12 | 为什么我的MySQL会“抖”一下
平时的工作中,不知道你有没有遇到过这样的场景,一条 SQL 语句,正常执行的时候特别快,但是有时也不知道怎么回事,它就会变得特别慢,并且这样的场景很难复现,它不只随机,而且持续时间还很短。 看上去,这就像是数据库“抖”了一下。今天,我们就一
2019-06-03
03
03
14 | count(*)这么慢,我该怎么办 14 | count(*)这么慢,我该怎么办
在开发系统的时候,你可能经常需要计算一个表的行数,比如一个交易系统的所有变更记录总数。这时候你可能会想,一条 select count() from t 语句不就解决了吗? 但是,你会发现随着系统中记录数越来越多,这条语句执行得也会越来越慢
2019-06-03
03
15 | 答疑文章(一):日志和索引相关问题 15 | 答疑文章(一):日志和索引相关问题
在浏览这些留言并回复的过程中,我倍受鼓舞,也尽我所知地帮助你解决问题、和你讨论。可以说,你们的留言活跃了整个专栏的氛围、提升了整个专栏的质量,谢谢你们。评论区的大多数的留言我都直接回复了,对于需要展开说明的问题,我都拿出小本子记了下来。这些
2019-06-03
03
16 | “order by”是怎么工作的 16 | “order by”是怎么工作的
在你开发应用的时候,一定会经常碰到需要根据指定的字段排序来显示结果的需求。还是以我们前面举例用过的市民表为例,假设你要查询城市是“杭州”的所有人名字,并且按照姓名排序返回前 1000 个人的姓名、年龄。 假设这个表的部分定义是这样的: CR
2019-06-03
03
17 | 如何正确地显示随机消息 17 | 如何正确地显示随机消息
我在上一篇文章,为你讲解完 order by 语句的几种执行模式后,就想到了之前一个做英语学习 App 的朋友碰到过的一个性能问题。今天这篇文章,我就从这个性能问题说起,和你说说 MySQL 中的另外一种排序需求,希望能够加深你对 MySQ
2019-06-03
03
2 / 5