搜 索

12、企业约束规范

  • 632阅读
  • 2022年03月02日
  • 0评论

12、企业约束规范

12-1 库表字段约束规范:

表示是否的时候:is_vip 一定要使用类型:tinyint,为无符号。长度:1,只有0和1;

表名和字段名必须为小写字母,不能有大写字母。出现分隔单词必须用下划线隔开。

表名不能出现复数,表名不能起table(mysql里的);

索引名:

主键:pk__xxx

唯一键:uk _ _xxx

索引:idx__xxx

所有的小数全用decimal。

字符串很小时用char,别用varchar。

如果超过了5000,用text;

表里必须要有的字段id、create_time、update_time;

id必须为bigint,而且为无符号,id为单表时设为自增。

create_time 必须为datatime;

update_time 必须为datatime;

字段频繁查询,应该允许一定的冗余。

单表超过2w,分库分表。

年龄一般为tinyint,且无符号。

12-2 索引规范:

(1)限制每张表上的索引数量,建议单张表索引不超过5个:

​ 索引并不是越多越好!索引可以提高效率同样可以降低效率。

​ 索引可以增加查询效率,但同样会降低插入和更新效率,甚至可能会降低查询效率。

(2)禁止给表中的每一列都建立单独的索引:

(3)尽量避免使用外键索引。

(4)join数据类型两边必须一致。

12-3 SQL规范:

不要妄想使用count(xxx,xx,xx)去替代count(*),因为count星会统计null的行。如果某一列值都为null,你要注意count

不是name =null而是is null。

判断一个是不是空用is null。

不要用外键和级联。尤其是在高并发集群的项目中里,其他的表也要跟着改。一切外键的问题放在serve层解决或者应用层解决。

实际开发过程中禁止使用存储过程。存储过程很难调试,而且很难扩展。

删除和修改的时候先select出来查询错误,再删除

子查询的in操作能避免就避免

数据库全为utf8。

无标签
打 赏
评论区
暂无评论
avatar