Query Performance Tuning
概要
SQLiteクエリパフォーマンスを測定駆動で最適化します。遅いクエリの診断、実行計画の分析、インデックス設計、クエリリライトを段階的に実施し、パフォーマンス改善を実現します。
ワークフロー
Phase 1: Analysis(分析)
目的: 遅いクエリを特定し、実行計画を分析してボトルネックを診断
Task: agents/analysis.md
入力:
- 対象クエリ(SQL文)
- パフォーマンス要件(許容レスポンス時間)
出力:
- EXPLAIN QUERY PLAN 分析結果
- ボトルネック診断レポート
- 最適化の優先順位
実行タイミング: クエリが遅いと報告された時、パフォーマンス問題の調査時
Phase 2: Optimization(最適化)
目的: インデックス設計、クエリリライト、N+1問題解決を実施
Task: agents/optimization.md
入力:
- Phase 1 の分析結果
- データベーススキーマ
- クエリパターン
出力:
- インデックス設計案(DDL含む)
- 最適化されたクエリ
- 実装手順書
実行タイミング: 分析後の改善実施、インデックス追加判断時
Phase 3: Validation(検証)
目的: 最適化効果を測定し、パフォーマンス改善を検証
Task: agents/validation.md
入力:
- 最適化前後のクエリ
- ベンチマーク条件
出力:
- パフォーマンス比較レポート
- 改善率の測定結果
- 残存課題の特定
実行タイミング: 最適化実施後、効果測定が必要な時
Task仕様
| Task | 起動タイミング | 入力 | 出力 |
|---|---|---|---|
| analysis | Phase 1開始時 | クエリ・要件 | ボトルネック診断 |
| optimization | Phase 2開始時 | 分析結果・スキーマ | インデックス・最適化SQL |
| validation | Phase 3開始時 | 最適化前後クエリ | 検証レポート |
詳細仕様: 各Taskの詳細は agents/ ディレクトリを参照
- agents/analysis.md
- agents/optimization.md
- agents/validation.md
ベストプラクティス
すべきこと
- 測定から始める(推測による最適化を避ける)
- EXPLAIN QUERY PLAN で実行計画を必ず確認
- インデックス追加前にクエリパターンを分析
- N+1問題は早期に特定して解決
- 最適化効果を数値で検証
- 書き込み性能への影響を考慮
避けるべきこと
- 測定なしの盲目的なインデックス追加
- 実行計画を見ずにクエリを変更
- 過度なインデックス(書き込み性能の劣化)
- 単一クエリのみの最適化(全体像を見失う)
- 統計的妥当性のない測定
リソース参照
references/(詳細知識)
| リソース | パス | 内容 |
|---|---|---|
| 基礎知識 | references/Level1_basics.md | 基礎概念と用語 |
| 実務パターン | references/Level2_intermediate.md | 実務での適用 |
| 高度な最適化 | references/Level3_advanced.md | 高度な最適化技法 |
| 専門トラブルシューティング | references/Level4_expert.md | 専門的な問題解決 |
| EXPLAIN解析 | references/explain-analyze-guide.md | 実行計画の読解 |
| インデックス戦略 | references/index-strategies.md | インデックス設計 |
| クエリパターン | references/query-patterns.md | 最適化パターン |
| 監視クエリ | references/monitoring-queries.md | パフォーマンス監視 |
scripts/(決定論的処理)
| スクリプト | 用途 | 使用例 |
|---|---|---|
analyze-slow-queries.mjs |
遅いクエリ分析 | node scripts/analyze-slow-queries.mjs --query "SELECT ..." --threshold 100 |
log_usage.mjs |
使用履歴記録 | node scripts/log_usage.mjs --result success --phase analysis |
validate-skill.mjs |
構造検証 | node scripts/validate-skill.mjs |
assets/(テンプレート)
| テンプレート | 用途 |
|---|---|
performance-report-template.md |
パフォーマンス分析レポート |
変更履歴
| Version | Date | Changes |
|---|---|---|
| 3.0.0 | 2026-01-02 | 18-skills.md仕様完全準拠: optimization/validation agents追加 |
| 2.1.0 | 2026-01-02 | Task仕様テーブル形式化 |
| 2.0.0 | 2025-12-31 | 18-skills.md 仕様に準拠、agents/ Task追加 |
| 1.0.0 | 2025-12-24 | 初版 |