1、列表页获取数据,list记录数和总页数分开两个接口实现。获取数据时间范围限制在3~6个月之内。
2、所有的获取记录数都统一使用COUNT(*)。
3、INSERT INTO 语句插入需要添加是否存在判断,防止主键冲突(INSERT SELECT NOT EXISTS)。
4、微服务逻辑代码通用,禁止微服务调用其他微服务或者其他内部服务接口。
5、所有查询WHERE 限制条件禁止使用函数。
6、单个SQL表关联不允许超过三个表,超过三个表管理的复杂SQL可以考虑拆分多个SQL处理。
7、所有入参使用前都必须进行非空判断校验,防止NPE问题。
8、禁止循环调用接口或者是调用数据库。
9、SQL性能指标向120ms看齐。
10、业务表设计三要素(主键ID,创建时间,修改时间),此三个属性均采用数据库触发方式修改,禁止人为的赋值,
比如:ID bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
CREATE_TIME datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
MODIFY_TIME datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'