1. 三星索引概念
三星索引 的概念比较绕口,我自己理解整理了一下:
1. B+树上相邻的记录尽量放在一起
2. 索引中的数据顺序和查找中的排列顺序一致,也就是order by和group by的字段尽量跟索引顺序一致。
3. 尽量覆盖索引,避免回表。
2. 索引的几个优化建议
1. 只为搜索,order by,group by查询列创建索引;
2. 尽量使用三星索引;
3. 主键列不要update,最好使用insert;
4. 不要在冗余和重复列上创建索引。计算公式参考上一篇博客。
5. 未使用的索引删除
3. mysql-cost值成本计算
计算cost值之前先说一下I/0时间和CPU时间
I/0时间=寻道时间+旋转时间+传输时间(一次I/0时间大概在9-10ms左右),其中寻道时间最长,因为他是一个机械运动,旋转时间很快,平常咱们的电脑的转数一般都是几千或者1万多,传输时间都是ns级,忽略不计。最浪费时间的就是寻道时