sql-query-optimization について
データベースの性能を扱う開発者向けの SQL クエリ分析・チューニングスキルです。クエリプラン、インデックス、書き換えパターンを使ったボトルネック対策を扱います。
主な機能
- 01クエリプラン分析
- 02インデックス利用の確認
- 03結合の最適化
- 04サブクエリの最適化
- 05クエリ書き換えパターン
活用シーン
- 01遅いクエリの調査
- 02インデックス利用状況の確認
- 03結合やサブクエリの調整
- 04性能ベースラインの設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill sql-query-optimizationインストール後、Claude Code で/sql-query-optimizationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/analyze-current-performance.mdbatch-operations.mdcommon-optimization-patterns.mdquery-rewriting-techniques.mdscripts/validate-schema.shtemplates/migration-template.sql詳細
SQL クエリの最適化
目次
概要
SQL クエリを分析してパフォーマンスのボトルネックを特定し、最適化手法を実装します。クエリ分析、インデックス戦略、パフォーマンス向上のための書き換えパターンが含まれます。
使用する場面
- 遅いクエリの分析とチューニング
- クエリの書き換えとリファクタリング
- インデックスの使用状況の確認
- 結合の最適化
- サブクエリの最適化
- クエリプランの分析(EXPLAIN)
- パフォーマンスのベースラインの確立
クイックスタート
PostgreSQL:
-- Analyze query plan with execution time
EXPLAIN (ANALYZE, BUFFERS, FORMAT JSON)
SELECT u.id, u.email, COUNT(o.id) as order_count
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE u.created_at > NOW() - INTERVAL '1 year'
GROUP BY u.id, u.email;
-- Check table statistics
SELECT * FROM pg_stats
WHERE tablename = 'users' AND attname = 'created_at';
リファレンスガイド
詳細な実装については、references/ ディレクトリを参照してください。
| ガイド | 内容 |
|---|---|
| 現在のパフォーマンスを分析する | 現在のパフォーマンスを分析する |
| 一般的な最適化パターン | 一般的な最適化パターン |
| クエリの書き換えテクニック | クエリの書き換えテクニック |
| バッチ処理 | バッチ処理 |
ベストプラクティス
✅ 推奨事項
- 確立されたパターンと規約に従います
- 読みやすく、保守しやすいコードを書きます
- 適切なドキュメントを追加します
- デプロイ前に十分にテストします
❌ 禁止事項
- テストや検証を省略しないでください
- エラー処理を無視しないでください
- 設定値をハードコードしないでください
コメント
Markdown 対応