SuperAPI AI 工具集

n-plus-one-prevention

通用与其它

查看项目

更新于 10-16 02:28

技能介绍

用途:在循环中获取关联数据、单个请求产生多次查询、列表/索引接口响应缓慢时使用。核心原则是绝不在循环内执行数据库查询,改为一次查询取回关联数据。

主要能力:识别 N+1 模式(先取 N 条记录再发 N 次查询取关联数据);给出正确做法——ORM 预加载(Sequelize 的 include、Prisma 的 include/select、TypeORM 的 relations)或原生 SQL 的 JOIN,使查询数从 1+N 降到 1;覆盖关联实体、聚合计数、多关联等场景;提供按请求统计查询数的检测代码思路。

使用方式:遇到 await 出现在 .map()/.forEach() 内、查询数随结果集增长、列表接口比详情接口慢等信号即重构为预加载。

适用场景:常见 ORM 的列表接口优化。

限制:资料未提供安装命令、价格、平台支持等具体信息;聚合场景的 subquery/GROUP BY 写法依具体 ORM 而定,需自行确认语法。