mysql使用规范-索引规范
- 单张表中索引数量不超过5个
- 单个索引中的字段数不超过5个
- 索引名必须全部使用小写
- 非唯一索引按照"idx_字段名称[_字段名称]"进行命名.例如idx_age_name
- 唯一索引按照"uniq_字段名称[_字段名称]"进行命名.例如uniq_age_name
- 组合索引建议包含所有字段名,过长的字段名可以采用缩写形式.例如idx_age_name_add
- 表必须有主键,推荐使用UNSIGNED自增列作为主键
- 唯一键由三个以下字段组成,并且字段都是整形时,可使用唯一键作为主键.其他情况下,建议使用自增列或发号器作为主键
- 禁止冗余索引
- 禁止重复索引
- 禁止使用外键
- 连表查询时,join列的数据类型必须相同,并且要建立索引
- 不在低基数列上建议索引,例如"性别"
- 选择区分度大的列建立索引.组合索引中,区分度大的字段放在最前
- 对字符串使用前缀索引,前缀索引长度不超过8个字符
- 不对过长的VARCHAR字段建立索引,建议优先考虑前缀索引或添加CRC32或MD5伪列并建议索引
- 合理创建联合索引,(a,b,c)相当于(a)、(a,b)、(a,b,c)
- 合理使用覆盖索引减少IO,避免排序