1.
【强制】业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引。
说明:
不要以为唯一索引影响了
insert
速度,这个速度损耗可以忽略,但提高查找速度是明
显的
;
另外,即使在应用层做了非常完善的校验控制,只要没有唯一索引,根据墨菲定律,必
然有脏数据产生。
2.
【强制】 超过三个表禁止
join
。需要
join
的字段,数据类型必须绝对一致
;
多表关联查询
时,保证被关联的字段需要有索引。
说明:
即使双表
join
也要注意表索引、
SQL
性能。
3.
【强制】在
varchar
字段上建立索引时,必须指定索引长度,没必要对全字段建立索引,根据
实际文本区分度决定索引长度即可。
说明:
索引的长度与区分度是一对矛盾体,一般对字符串类型数据,长度为
20
的索引,区分
度会高达
90%
以上,可以使用
count(distinct left(
列名
,
索引长度
))
/
count(
*