一 小数类型为decimal,禁止使用float和double
二 主键索引名为pk_字段名;唯一索引名为uk_字段名;普通索引名为idx_字段名
三 超过三个表禁止join。需要join的字段,数据类型必须绝对一致;多表关联查询时,保证被关联的字段需要索引;
四 在varchar字段上建立索引时,必须指定索引长度,没必要对全字段建立索引,根据实际文本区分度决定索引长度即可。
五 不要使用count(列名)或count(常量)来代替count(*)
说明 count(*)会统计值为NULL的行,而count(l列名)不会统计此列为NULL值得行。
六 count(distinct col)计算该列除NULL之外的不重复行
注意 count(distinct col1,col2) 如果其中一列全为null,那么即使另一列有不同的值,也返回0。
七 当某一列的值全为null时,count(col)的返回结果为0,但sum(col)的返回结果为null,因此使用sum()时需要注意NPE问题。
例如:可以使用如下方式避免sum的NPE问题:SELECT IF(ISNULL(SUM(g)),0,SUM(g)) from table;
八 使用ISNULL() 来判断是否为NULL值。
说明 NULL与任何值得直接比较都为NULL;