query-performance-tuning

SQLiteクエリパフォーマンス最適化を専門とするスキル。EXPLAIN QUERY PLAN分析、インデックス戦略、クエリリライトを通じて、遅いクエリを診断し実行計画を改善します。 Anchors: • High Performance MySQL (Baron Schwartz) / 適用: クエリ分析と診断手法 / 目的: 体系的なパフォーマンス診断 • Use The Index, Luke (Markus Winand) / 適用: インデックス設計原則 / 目的: 効果的なインデックス活用 • Systems Performance (Brendan Gregg) / 適用: 測定駆動のアプローチ / 目的: 定量的な効果検証 Trigger: Use when optimizing slow queries, analyzing execution plans, designing indexes, resolving N+1 problems, or improving database performance systematically. Keywords: slow query, EXPLAIN QUERY PLAN, index optimization, query rewriting, N+1 problem, database performance, SQLite performance

allowed_tools: Read, Write, Edit, Bash, Glob, Grep

$ 安裝

git clone https://github.com/daishiman/AIWorkflowOrchestrator /tmp/AIWorkflowOrchestrator && cp -r /tmp/AIWorkflowOrchestrator/.claude/skills/query-performance-tuning ~/.claude/skills/AIWorkflowOrchestrator

// tip: Run this command in your terminal to install the skill


name: query-performance-tuning description: | SQLiteクエリパフォーマンス最適化を専門とするスキル。EXPLAIN QUERY PLAN分析、インデックス戦略、クエリリライトを通じて、遅いクエリを診断し実行計画を改善します。

Anchors: • High Performance MySQL (Baron Schwartz) / 適用: クエリ分析と診断手法 / 目的: 体系的なパフォーマンス診断 • Use The Index, Luke (Markus Winand) / 適用: インデックス設計原則 / 目的: 効果的なインデックス活用 • Systems Performance (Brendan Gregg) / 適用: 測定駆動のアプローチ / 目的: 定量的な効果検証

Trigger: Use when optimizing slow queries, analyzing execution plans, designing indexes, resolving N+1 problems, or improving database performance systematically. Keywords: slow query, EXPLAIN QUERY PLAN, index optimization, query rewriting, N+1 problem, database performance, SQLite performance allowed-tools:

  • Read
  • Write
  • Edit
  • Bash
  • Glob
  • Grep

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起動タイミング入力出力
analysisPhase 1開始時クエリ・要件ボトルネック診断
optimizationPhase 2開始時分析結果・スキーマインデックス・最適化SQL
validationPhase 3開始時最適化前後クエリ検証レポート

詳細仕様: 各Taskの詳細は agents/ ディレクトリを参照

ベストプラクティス

すべきこと

  • 測定から始める(推測による最適化を避ける)
  • 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パフォーマンス分析レポート

変更履歴

VersionDateChanges
3.0.02026-01-0218-skills.md仕様完全準拠: optimization/validation agents追加
2.1.02026-01-02Task仕様テーブル形式化
2.0.02025-12-3118-skills.md 仕様に準拠、agents/ Task追加
1.0.02025-12-24初版