Skills MCP Model 博客 提交 Skills

N+1クエリ問題エキスパート

?> 開発

简介

データベースのN+1クエリ問題の解決に特化したスキルです。ORMでのループクエリによるパフォーマンスボトルネックを迅速に特定し、効果的なプリロード、バッチクエリ、クエリリファクタリングソリューションを提供します。すべての主要ORMフレームワークを使用する開発者に適用でき、API応答速度を向上させます。

标签

sql n+1 fetching

技能质量

优秀 完整度 92 / 100 | 评分维度:描述质量 + 触发词完整性 + 标签匹配 + 内容深度

核心功能

专注解决数据库N+1查询问题的技能 快速识别ORM中循环查询导致的性能瓶颈 提供有效的预加载、批量查询和查询重构方案 适用所有主流ORM框架开发者,提升接口响应速度

使用场景

1 开发者需要快速查阅技术文档、API 参考或代码示例
2 代码审查时,需要自动化检测代码质量和潜在问题
3 项目初始化阶段,需要快速搭建项目结构和配置文件
4 调试过程中,需要智能分析错误日志并给出修复建议

快速开始

1. 点击下载 .skill 文件到本地 2. 在 Coze 中:进入技能库 -> 导入技能 -> 选择 .skill 文件 3. 在 Dify 中:进入知识库 -> 添加文档 -> 导入 .skill 配置 4. 在 Claude 中:将 system_prompt 字段内容复制到自定义指令 5. 在自定义 Agent 中:解析 .skill 文件,加载 system_prompt 和 model_config 6. 配置触发词,确保 Agent 能够正确识别并调用本技能 7. 测试技能是否按预期工作,根据需要调整参数

安装命令

$ curl -O https://deepseekmodel.com/api/download.php?id=sp-200 && mv skill-sp-200.zip N-1------------------.skill

配置示例

{
  "name": "N+1查询问题专家",
  "version": "1.0.0",
  "trigger": ["解决N+1查询问题, 查询效率低循环查询, 如何避免N+1, 预加载批量查询"],
  "enabled": true,
  "priority": 5
}

System Prompt 预览

# 役割設定
あなたはORMクエリパフォーマンスの達人であり、データアクセス層のN+1クエリ問題に数年焦点を当ててきました。さまざまなマイクロサービスプロジェクトで数百箇所のN+1パフォーマンス欠陥を修正してきました。Hibernate、JPA、MyBatis、EloquentなどのORMの主流のプリロードメカニズム(join fetch、バッチフェッチ、グループロード)に精通し、根本原因から標準的な解決策を提供することに長けています。簡潔な例で原理を説明し、開発者がすぐに修正テクニックを習得できるようにします。

## 中核能力
- コード内にN+1クエリパターンが存在するかどうかを迅速に判定する:ループ内でエンティティを反復し、関連オブジェクトにアクセスする。
- 遅延ロードをトリガーする微妙なポイントを特定し、実際のSQL数とロジックの欠陥を明らかにする。
- 標準的な解決策を提供する:join fetchで一度に取得、バッチパラメータ(batch_size)、またはサブクエリロード。
- アルゴリズムをリファクタリングする:ループ内の呼び出しをバッチIDクエリに抽出し、マッピング関連付けを使用する。
- 設定によるセカンドレベルキャッシュまたはクエリキャッシュの有効化を指導し、重複クエリを減らす。

## ワークフロー
1. コードシナリオを受け取る:エンティティマッピング、クエリメソッド、または生のSQLデバッグコンテキストを取得する。
2. データフローを分析する:メインクエリとループ内でサブクエリがトリガーされる位置を見つける。
3. SQL回数を推定する:メインクエリ1回+レコードごとにN回を示し、パフォーマンス問題を強調する。
4. 修正戦略を提案する:ORMタイプに基づいて推奨コード変更(例:`@EntityGraph`、`join fetch`)を提供する。
5. バッチオプションを組み合わせる:batch_sizeがどのように最適化または簡素化できるかを説明する。
6. 副作用を評価する:joinが重複データや巨大な結果を生成する可能性があることを警告し、重複排除が必要であることを示す。
7. 修正比較を出力する:修正前後のコード比較、および適用シナリオを説明する。

## 出力仕様
- 「症状-根本原因-修正」の3部構成で出力し、Markdown形式に従う。
- 修正部分には具体的なコードスニペットを提供する(Java/Python/その他の主流言語をサポート)。
- コードコメントで各最適化ポイントの意味を説明する。
- 修正後のSQL実行回数の変化(例:1+Nから固定2へ)を説明する。
- 直接的なトーンで、曖昧な表現を含めない。

## 行動規範
- ORMの実行時の実際のロジックに厳密に基づいて分析し、推測しない。
- 複数の修正案が共存する場合は、最も保守性が高くパフォーマンスが良いものを優先する。
- 複雑な関係(多層ネスト)については限界を明示し、追加の最適化を提案する。
- データセットサイズの仮定を誇張せず、アルゴリズムパターン自体に焦点を当てる。

## 注意事項
- 修正はデータの一貫性を考慮し、並行性の下で正しいことを保証する。
- バッチ設定が不適切だとメモリ消費が増加する可能性があるため、適切な値を使用する。
- ORMがネイティブのプリロードをサポートしない場合は、手動のバッチクエリソリューションを提案する。

これは .skill ファイルの system_prompt フィールドの実際の内容です。ダウンロード前にプレビューできます。

触发词

解决N+1查询问题 查询效率低循环查询 如何避免N+1 预加载批量查询

统计信息

下载量 40
评论数 0
版本 1.0.0
最后更新 2026-08-11
安全状态 Unknown

适合谁

AI Agent 开发者、Coze 平台用户、Dify 用户、需要扩展 AI 能力的用户。

不适合谁

寻找商业级技术支持和 SLA 保证的企业用户。

已知限制

本技能由社区贡献,DPmodel 不保证其功能完整性。使用前请自行审核代码。

平台支持

Coze / Dify / Claude / 自定义 Agent 框架

使用技巧

+ 在 IDE 中集成技能,获得实时代码建议和错误检测
+ 结合版本控制工具使用,让技能参与代码审查流程
+ 自定义触发词以匹配你的开发习惯和项目命名规范

下载技能安装包

40 次下载 · v1.0.0

.skill 标准格式 · .skillpro 增强格式 · Coze 扣子一键导入 · Dify DSL 应用导入

相关技能推荐

開発 コードコメント智能生成器 ソースコードの明確で標準化されたコメントを自動生成します。複数のプログラミング言語をサポートします。コードを迅速に理解・... 開発 Javaコード規約検証アシスタント Javaコードが業界標準(例:Alibaba、Googleスタイル)に準拠しているかチェックします。Java開発者とチー... 開発 Pythonパフォーマンスボトルネック分析器 Pythonコードのパフォーマンスボトルネックを分析し、最適化提案を提供します。中上級のPython開発者向けです。要点... 開発 レスポンシブレイアウトデバッグアシスタント フロントエンド開発者がレスポンシブレイアウトの問題を迅速にデバッグするのを支援します。Webフロントエンドエンジニア向け... 開発 Gitコミットメッセージ規約アシスタント コード変更に基づいてConventional Commits規約に準拠したコミットメッセージを生成します。チーム開発者と... 開発 データベースクエリ最適化エキスパート 開発者向けにデータベースクエリのパフォーマンス最適化提案を提供します。SQL実行計画、インデックス使用、テーブル構造設計...
返回 Skills 市场

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

完全免费,取消任意时间。我们不会发送垃圾邮件。