MySQL支持下面的索引类型:
- 哈希索引,只有memory引擎支持
- 全文索引,MyISAM支持,Innodb(mysql5.6后支持)
- BTree,B+Tree。B+Tree的非叶子节点不存储data,就可以存储更多的key
什么时候要使用索引?
- 主键自动建立唯一索引;
- 经常作为查询条件在WHERE或者ORDER BY 语句中出现的列要建立索引;
- 作为排序的列要建立索引;
- 查询中与其他表关联的字段,外键关系建立索引
- 高并发条件下倾向组合索引;
什么时候不要使用索引?
- 经常增删改的列不要建立索引;
- 有大量重复的列不建立索引;
- 表记录太少不要建立索引;