数据库设计规范1
1.所有的表都必须有几个公共字段
这里建有删除标识,代表着我们所有的删除都是软删除。所以我们的删除操作其实是updata
2.id等数字类型的字段,不能知识bigint,应该是bigint unsigned
3.varchar默认长度为32,不要用255,那些确定长度的也可以写1
4.所有字段都必须是非空,必须有默认值
5.命名规范
(1)所有命名采用26个英文大小写字母和0-9这十个自然数,加上下划线_组成。不能出现其他字符(注释除外)。
(2)长度不超过30个字符。
(3)实际名字尽量描述实体的内容,由英文单词、单词组合或单词缩写组成,不以数字和_开头。
(4)命名中禁止使用SQL关键字。
(5)对象名尽量短。
DML语句
- SELECT语句必须指定具体字段名称,禁止写成*。
- insert语句指定具体字段名称,不要写成insert into t1 values(…)。
- in值列表限制在500以内。
- SELECT|UPDATE|DELETE|REPLACE要有WHERE子句,且WHERE子句的条件必需使用索引查找。
- WHERE 子句中禁止只使用全模糊的LIKE条件进行查找,必须有其他等值或范围查询条件,否则无法利用索引。
- 减少使用or语句,可将or语句优化为union,然后在各个where条件上建立索引。
- 分页查询,当limit起点较高时,可先用过滤条件进行过滤。如select a,b,c from t1 limit 10000,20;优化为: select a,b,c from t1 where id>10000 limit 20;。
- 建议将子查询SQL拆开结合程序多次查询,或使用join来代替子查询。