# 祈盟SDK 性能自检清单 > 写完代码后,对照这份清单逐项打勾。 > 任何一项不通过,PR 会被打回。 --- ## 批量查询类 - [ ] 入参是否校验 `count ≤ 2000`? - [ ] 是否避免 OR 条件拼 > 1000 条 SQL? - [ ] 是否使用分页/分批/IN 语法? - [ ] 大量数据查询是否走预聚合表而非明细表? ## 重试类 - [ ] 重试是否使用指数退避(30s→1min→2min→4min→5min)? - [ ] 重试上限是否 ≤ 5 次? - [ ] 失败时是否有降级方案(缓存值/默认值)? - [ ] 重试触发前是否判断"失败原因"?(瞬时 vs 持续) ## 缓存类 - [ ] 客户端缓存时长是否 < 服务端会话有效期? - [ ] 是否有缓存失效校验逻辑? - [ ] 缓存 Key 是否包含版本号/更新时间?(避免脏读) ## 接口类 - [ ] 是否配置了 QPS 限流? - [ ] 是否有超时设置(建议 5s)? - [ ] 是否有降级方案(限流后返回什么)? ## 数据库类 - [ ] 金额字段是否用 `DECIMAL(15,2)` 或 `BIGINT`? - [ ] 金额运算是否在数据库层完成? - [ ] 慢 SQL 是否走索引? - [ ] 是否避免 `SELECT *`? ## 并发类 - [ ] 是否考虑了并发场景下的幂等性? - [ ] 是否有锁竞争/死锁风险? - [ ] 连接池大小是否合理?(建议 ≤ 50) ## 跨部门类 - [ ] 接口/数据源切换是否同步了产品部 + 发行部? - [ ] 是否更新了对外文档? ## 上线类 - [ ] 是否有监控告警?(不是"出事后补") - [ ] 是否有降级开关? - [ ] 是否有回滚方案? - [ ] 冒烟测试是否覆盖核心场景?