Communitygithub.com

backupcompany/skill-cursor

生产级数据访问解决方案,专门针对 N+1 查询问题。当代码在循环中查询数据库、ORM 逐行延迟加载关联、或者列表端点在 5 行时快但在 50 行时慢时使用。已处理案例见 references/bad-vs-good.md。不适用于 HTTP 契约设计或 Go/JavaScript 语言风格。

skill-cursor 是什么?

该技能定义了生产环境下的数据访问基调,核心规则为:禁止 N+1 查询、禁止在热点路径上使用 SELECT *、查询必须基于索引、大列表必须分页。当 ORM 或循环隐藏了数据库往返次数,导致规则被违反时,本技能提供诊断和解决步骤。它面向使用 Cursor、Claude Code 等 AI 编码工具的开发者,特别适用于后端数据密集型应用。使用时,需先阅读 references/bad-vs-good.md 中的正反案例,了解在集合加载关联、标记映射为急切加载、或将一对多关系联入分页列表时如何避免陷阱。完成标准包括:N 个父记录的列表不会发起 N 次相同的关联查询、查询日志或追踪中语句数量固定(1 或 2 条,或 1 + N/批处理)、分页时每页返回正确的父记录数而非被 join 撑大的行数。

兼容平台~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/backupcompany/skill-cursor/tree/HEAD/skills/data-access

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

数据访问

规则 03 是底线:禁止 N+1,禁止在热点路径上使用 SELECT *,查询必须由索引支持,大列表必须分页。本技能展示当 ORM 或循环隐藏了数据库往返次数时,该规则如何被违反。

在从集合中加载关联、将映射标记为急切加载、或将一对多关系联入分页列表之前,请先阅读 references/bad-vs-good.md。

完成标准

  • N 个父记录的列表不会对同一关联发起 N 次查询。
  • 查询日志或追踪显示固定数量的语句(1 或 2 条,或 1 + N/批处理),而不是每行一条。
  • 父记录的分页返回您请求的父记录数量,而不是被 join 撑大的行数。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相关技能