jpskill.com
🛠️ 開発・MCP コミュニティ

database-optimization

SQLクエリの最適化、N+1問題の解決、インデックス設計、キャッシュ導入を通じて、PostgreSQLやMySQLなどのデータベース性能を向上させるSkill。

📜 元の英語説明(参考)

SQL query optimization and database performance specialist. Use when optimizing slow queries, fixing N+1 problems, designing indexes, implementing caching, or improving database performance. Works with PostgreSQL, MySQL, and other databases.

🇯🇵 日本人クリエイター向け解説

一言でいうと

SQLクエリの最適化、N+1問題の解決、インデックス設計、キャッシュ導入を通じて、PostgreSQLやMySQLなどのデータベース性能を向上させるSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o database-optimization.zip https://jpskill.com/download/6904.zip && unzip -o database-optimization.zip && rm database-optimization.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/6904.zip -OutFile "$d\database-optimization.zip"; Expand-Archive "$d\database-optimization.zip" -DestinationPath $d -Force; ri "$d\database-optimization.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して database-optimization.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → database-optimization フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] database-optimization

データベース最適化

このスキルは、クエリ最適化、インデックス戦略、N+1 問題の解決、キャッシュ実装など、データベースのパフォーマンスを最適化します。

このスキルを使用する場面

  • 処理の遅いデータベースクエリを最適化する場合
  • N+1 クエリの問題を修正する場合
  • インデックスを設計する場合
  • キャッシュ戦略を実装する場合
  • データベースのマイグレーションを最適化する場合
  • データベースのパフォーマンスを改善する場合

このスキルができること

  1. クエリ最適化: SQL クエリを分析し、最適化します。
  2. インデックス設計: 適切なインデックスを作成します。
  3. N+1 問題の解決: N+1 クエリの問題を修正します。
  4. キャッシュ: キャッシュ層(Redis、Memcached)を実装します。
  5. マイグレーション最適化: データベースのマイグレーションを最適化します。
  6. パフォーマンス監視: クエリパフォーマンス監視を設定します。

使用方法

クエリの最適化

Optimize this slow database query
Fix the N+1 query problem in this code

特定の分析

Analyze query performance and suggest indexes

最適化の領域

クエリ最適化

テクニック:

  • EXPLAIN ANALYZE を使用する
  • JOIN を最適化する
  • スキャンするデータを減らす
  • 適切なインデックスを使用する
  • SELECT * を避ける

インデックス設計

戦略:

  • 頻繁にクエリされるカラムにインデックスを張る
  • 複数カラムのクエリには複合インデックスを使用する
  • インデックスの張りすぎを避ける
  • インデックスの使用状況を監視する
  • 未使用のインデックスを削除する

N+1 問題

パターン:

# Bad: N+1 queries
users = User.all()
for user in users:
    posts = Post.where(user_id=user.id)  # N queries

# Good: Single query with JOIN
users = User.all().includes(:posts)  # 1 query

例 1: クエリ最適化

入力: 遅いユーザーのクエリを最適化する

出力:

## データベース最適化: ユーザーのクエリ

### 現在のクエリ
```sql
SELECT * FROM users
WHERE email = 'user@example.com';
-- Execution time: 450ms

分析

  • フルテーブルスキャン(email にインデックスなし)
  • 100万行以上をスキャン

最適化

-- インデックスの追加
CREATE INDEX idx_users_email ON users(email);

-- 最適化されたクエリ
SELECT id, email, name FROM users
WHERE email = 'user@example.com';
-- Execution time: 2ms

影響

  • クエリ時間: 450ms → 2ms (99.5% 改善)
  • インデックスサイズ: 約 50MB


## ベストプラクティス

### データベース最適化

1. **まず測定する**: EXPLAIN ANALYZE を使用する
2. **戦略的にインデックスを張る**: すべてのカラムにインデックスが必要なわけではありません
3. **監視する**: 遅いクエリログを追跡する
4. **キャッシュする**: コストの高いクエリをキャッシュする
5. **非正規化する**: 読み取りパターンによって正当化される場合

## 参照ファイル

- **`references/query_patterns.md`** - 一般的なクエリ最適化パターン、アンチパターン、キャッシュ戦略

## 関連するユースケース

- クエリ最適化
- インデックス設計
- N+1 問題の解決
- キャッシュ実装
- データベースパフォーマンスの改善
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Database Optimization

This skill optimizes database performance including query optimization, indexing strategies, N+1 problem resolution, and caching implementation.

When to Use This Skill

  • When optimizing slow database queries
  • When fixing N+1 query problems
  • When designing indexes
  • When implementing caching strategies
  • When optimizing database migrations
  • When improving database performance

What This Skill Does

  1. Query Optimization: Analyzes and optimizes SQL queries
  2. Index Design: Creates appropriate indexes
  3. N+1 Resolution: Fixes N+1 query problems
  4. Caching: Implements caching layers (Redis, Memcached)
  5. Migration Optimization: Optimizes database migrations
  6. Performance Monitoring: Sets up query performance monitoring

How to Use

Optimize Queries

Optimize this slow database query
Fix the N+1 query problem in this code

Specific Analysis

Analyze query performance and suggest indexes

Optimization Areas

Query Optimization

Techniques:

  • Use EXPLAIN ANALYZE
  • Optimize JOINs
  • Reduce data scanned
  • Use appropriate indexes
  • Avoid SELECT *

Index Design

Strategies:

  • Index frequently queried columns
  • Composite indexes for multi-column queries
  • Avoid over-indexing
  • Monitor index usage
  • Remove unused indexes

N+1 Problem

Pattern:

# Bad: N+1 queries
users = User.all()
for user in users:
    posts = Post.where(user_id=user.id)  # N queries

# Good: Single query with JOIN
users = User.all().includes(:posts)  # 1 query

Examples

Example 1: Query Optimization

Input: Optimize slow user query

Output:

## Database Optimization: User Query

### Current Query
```sql
SELECT * FROM users
WHERE email = 'user@example.com';
-- Execution time: 450ms

Analysis

  • Full table scan (no index on email)
  • Scanning 1M+ rows

Optimization

-- Add index
CREATE INDEX idx_users_email ON users(email);

-- Optimized query
SELECT id, email, name FROM users
WHERE email = 'user@example.com';
-- Execution time: 2ms

Impact

  • Query time: 450ms → 2ms (99.5% improvement)
  • Index size: ~50MB


## Best Practices

### Database Optimization

1. **Measure First**: Use EXPLAIN ANALYZE
2. **Index Strategically**: Not every column needs an index
3. **Monitor**: Track slow query logs
4. **Cache**: Cache expensive queries
5. **Denormalize**: When justified by read patterns

## Reference Files

- **`references/query_patterns.md`** - Common query optimization patterns, anti-patterns, and caching strategies

## Related Use Cases

- Query optimization
- Index design
- N+1 problem resolution
- Caching implementation
- Database performance improvement