MySQL索引&&开发规范
规范总结 索引规范 默认添加的索引都是BTree索引。Innodb只支持BTree索引。 设计索引原则 - 最适合索引的列是WHERE子句中的列,而不是SELECT中的列。 - 如果索引的字段很长,使用前缀索引 - 删除不常用索引 - 建议单表不超过5个 单表索引不超过5个【索引可以提高查询效率,但是会减小插更新效率】 每个 Innodb 表必须有个主键,【主键建议使用自增 ID 值】 索引列建议 出现在 SELECT、UPDATE、DELETE 语句的 WHERE 从句中的列 包含在 ORDER BY、GROUP BY、DISTINCT 中的字段 并不要将符合 1 和 2 中的字段的列都建立一个索引, 通常将 1、2 中的字段建立联合索引效果更好 多表 join 的关联列 避免建立冗余索引和重复索引 重复索引示例:primary key(id)、index(id)、unique index(id) 冗余索引示例:index(a,b,c)、index(a,b)、index(a) 覆盖索引 to be continue 外键约束取舍 开发规范 禁止使用 SELECT * 必须使用 SELECT 查询 用join操作代替子查询 使用join关联的表最好不超过5个 对应同一列进行 or 判断时,使用 in 代替 or 禁止使用 order by rand() 进行随机排序