高效稳定 · 简洁易用 · 灵活扩展
项目地址:lemon-echo微服务架构
1、数据库全部使用小写字母,下划线分割,包括库名,表名,字段名,索引名
2、不能使用数据库保留字,比如:key,desc,delete,order等
3、索引列不能存储null,可以为空串””
4、使用innodb存储引擎,使用utf8mb4
5、每张表都要有一个整型类型自增长主键id,不允许使用联合主键
6、轻约束设计,不建议表之间设计外键,以提升性能和避免设计的复杂性
7、冗余设计(反范式化),避免后续大表关联查询,可考虑冗余部分字段
8、普通索引命名idx_(前缀) + 列名,唯一索引命名udx_(前缀) + 列名
9、避免在索引列进行函数运算、!=/<>、not in等的使用(索引不能被使用)
10、varchar(M) M代表的意思是存储的最大字符数,不是字节数。M的值如果没有特别需要,建议不超过255(超过后存储方式会变化)
11、不要使用blob,text,longblob,longtext等超长的数据类型。对于要存储log日志的需求,建议程序端使用外部文件存储的方式
12、线上库truncate table xx、drop table xx操作需要邮件提前通知各部门,以防误删