cc-query-performance-safety
Installation
SKILL.md
查询性能安全规范
当代码涉及数据库或远程服务的批量查询时,防止 N+1、IN 子句过长、递归无界等高频性能陷阱。
与
cc-multi-tenant-safety配合:本 skill 关注「查询效率」,租户隔离遵循后者。
陷阱 #1: 循环内调用单条查询 → N+1
场景: for / stream / forEach 内部直接调用 repo.findById(...) 或同等单条远程调用
问题根因
每次循环触发一次 SQL/HTTP,N 个元素就是 N 次往返。100 元素 = 100 次 SQL,1000 元素就是 1000 次。本地开发数据少看不出来,生产环境直接拖垮接口。
嗅探信号
只要在 service / handler 方法里看到以下任一模式,立即怀疑 N+1: