一.表、字段命名
- 必须小写字母或数字
- 禁止数字开头
- 禁止两个下划线中间出现数字
- 不使用复数名词
- 禁止使用保留字
- 是与否概念的字段使用is_xxx
二.数据类型
- 货币使用最小货币单位,数据类型为bigint
三.索引
特点:持久性 有效性
分类:
存储形式:聚簇索引,非聚簇索引
数据约束: 主键约束,唯一约束,非唯一约束
索引列的数量:单列索引,组合索引
innodb可创建的索引:主键索引,唯一索引,普通索引
索引的数据结构:
二叉查找树:平衡二叉查找树
Btree
b+tree
索引名称规范:
主键索引:pk_字段名
唯一索引:uk_字段名
普通索引:idx_字段名
四.sql规约
注意字段类型:
防止因字段类型不一致,造成的隐式转换,造成索引失效
利用覆盖索引:
利用有序性
禁模糊
超过三个表禁止join
拒绝代替:不用使用count(列表)或count(常量)来代替count(*)
count(distinct col) 计算该列除null外的不重复行数
当某一列的值全为null时,count(col)返回的值为0,当sum(col)返回的值为null
in:in后面的集合元素数量,控制在1000内