实践篇
9.普通索引和唯一索引,应该怎么选择?
10.MySQL为什么有时候会选错索引?
11.怎么给字符串字段加索引?
12.为什么我的MySQL会“抖”一下?
13.为什么表数据删除一半,表文件大小不变?
14.count(*)这么慢,我改怎么办?
count(*)的实现方式
你首先要明确的是,在不同的 MySQL 引擎中,count(*) 有不同的实现方式。
MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高;
而 InnoDB 引擎就麻烦了,它执行 count(*) 的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数。