摘要:
> 以下内容出自 《MySQL 实战 45 讲》 # 24 | MySQL是怎么保证主备一致的? ## MySQL 主备的基本原理 如图所示就是基本的主备切换流程。(M-S结构)  NOT NULL, `tradeid` varchar(32) DEFAULT NULL, `operator` int(11) DEFAULT NUL 阅读全文
摘要:
# 16 | “order by”是怎么工作的? ## 前置 MySQL 会给每个线程分配一块内存用于排序,称为 sort_buffer。 排序时可能在内存中完成,也可能需要使用外部排序,这取决于排序所需的内存和参数 sort_buffer_size 。 sort_buffer_size,就是 My 阅读全文
摘要:
> 一下内容出自《MySQL 实战 45 讲》 ## 14 | count(*)这么慢,我该怎么办? ### count(*) 的实现方式 不同的 MySQL 引擎中,count(*) 有不同的实现方式。 - MyISAM 引擎把一个表的总行数存在了磁盘上,执行 count(\*) 的时候会直接返回 阅读全文
摘要:
## 13 | 为什么表数据删掉一半,表文件大小不变? ### 参数 innodb_file_per_table 表数据既可以存在共享表空间里,也可以是单独的文件。这个行为是由参数 innodb_file_per_table 控制的: - ON 表示的是,每个 InnoDB 表数据存储在一个以 .i 阅读全文
摘要:
> 一下内容出自 《MySQL 实战 45 讲》 ## 12 | 为什么我的MySQL会“抖”一下? 一条 SQL 语句,正常执行的时候特别快,但是有时也不知道怎么回事,它就会变得特别慢,并且这样的场景很难复现,它不只随机,而且持续时间还很短。看上去,这就像是数据库“抖”了一下。 这个时候,MySQ 阅读全文
摘要:
> 以下出自《MySQL 实战 45 讲》 ## 11 | 怎么给字符串字段加索引? 1、直接创建完整索引,这样可能比较占用空间; 2、创建前缀索引,节省空间,但会增加查询扫描次数,并且**不能使用覆盖索引**; 3、倒序存储,再创建前缀索引,用于绕过字符串本身前缀的区分度不够的问题; 4、创建 h 阅读全文