Search

PythonReactSEOPDF
GitHub Skill

database-optimization

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.

aiskillstore☆ 124 Repository stars6 Repository forks

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

View source ↗Guides

Skill instructions

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

Examples

Read the usage examples in the source repository.

View source ↗

Source history

Indexed on
2026-01-20
Index updated
2026-01-28
Branch
main

Index and sync dates describe this directory. View the source repository for code history.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!