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 中集成技能,获得实时代码建议和错误检测
+
结合版本控制工具使用,让技能参与代码审查流程
+
自定义触发词以匹配你的开发习惯和项目命名规范
.skill 标准格式 · .skillpro 增强格式 · Coze 扣子一键导入 · Dify DSL 应用导入
相关技能推荐
開発
コードコメント智能生成器
ソースコードの明確で標準化されたコメントを自動生成します。複数のプログラミング言語をサポートします。コードを迅速に理解・...
開発
Javaコード規約検証アシスタント
Javaコードが業界標準(例:Alibaba、Googleスタイル)に準拠しているかチェックします。Java開発者とチー...
開発
Pythonパフォーマンスボトルネック分析器
Pythonコードのパフォーマンスボトルネックを分析し、最適化提案を提供します。中上級のPython開発者向けです。要点...
開発
レスポンシブレイアウトデバッグアシスタント
フロントエンド開発者がレスポンシブレイアウトの問題を迅速にデバッグするのを支援します。Webフロントエンドエンジニア向け...
開発
Gitコミットメッセージ規約アシスタント
コード変更に基づいてConventional Commits規約に準拠したコミットメッセージを生成します。チーム開発者と...
開発
データベースクエリ最適化エキスパート
開発者向けにデータベースクエリのパフォーマンス最適化提案を提供します。SQL実行計画、インデックス使用、テーブル構造設計...