阿里巴巴开发手册之索引规约
- 业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引,不要以为唯一索引影响了insert速度,这个速度损耗可以忽略,但提高查找
速度是明显的
2.超过三个表禁止join,多表关联查询时,被关联的字段需要有索引
即使是双表也要注意表索引,sql性能
3varchar字段建立索引时,必须指定索引长度,没必要对全字段建立索引。
4.页面搜索严禁左模糊或者全模糊,如果需要做搜索引擎来解决
5.order by场景,注意索引的有序性。遵循最佳左前缀原则
6,利用覆盖索引,避免回表
7sql性能优化目标,至少达到range(范围检索),要求是ref(普通索引),如果是consts最好(主键或者唯一索引),在优化阶段即可读取到数据。
8.建立组合索引的时候,区分度最高的放最左边。
例如where c>? and d = ? 必须d放在索引的最前列, 组合索引 idx_d_c
对索引误解,认为索引占空间,插入速度减慢,
认为索引宁滥勿缺,一个查询一个索引。