这道题问的其实是索引创建的原则
创建原则
- 1.一般针对高频查询的字段创建索引
- 2.区分度高的字段优先,例如性别这种字段就不适合
- 3.优先考虑联合索引
- 4.遵循最左匹配原则
- 5.使用时避免索引失效的场景
索引的原理
MySQL InnoDB 存储引擎的索引底层是 B+Tree 数据结构。B+Tree 的非叶子节点只存储 key 和指针,所有数据都存储在叶子节点,并且叶子节点之间通过链表连接,因此非常适合范围查询和排序操作。B+Tree 的分叉度很高,因此树的高度很低,一般 3~4 层就可以存储千万级数据,从而减少磁盘 IO 次数,提高查询效率