- Adds `skills/postgres-best-practices/`: A new skill containing comprehensive Postgres performance optimization rules and guidelines from Supabase. - The skill includes rules for query performance, connection management, security (RLS), and schema design. - Updates `README.md` to include the new skill in the directory.
35 lines
1.0 KiB
Markdown
35 lines
1.0 KiB
Markdown
---
|
|
title: Clear, Action-Oriented Title (e.g., "Use Partial Indexes for Filtered Queries")
|
|
impact: MEDIUM
|
|
impactDescription: 5-20x query speedup for filtered queries
|
|
tags: indexes, query-optimization, performance
|
|
---
|
|
|
|
## [Rule Title]
|
|
|
|
[1-2 sentence explanation of the problem and why it matters. Focus on performance impact.]
|
|
|
|
**Incorrect (describe the problem):**
|
|
|
|
```sql
|
|
-- Comment explaining what makes this slow/problematic
|
|
CREATE INDEX users_email_idx ON users(email);
|
|
|
|
SELECT * FROM users WHERE email = 'user@example.com' AND deleted_at IS NULL;
|
|
-- This scans deleted records unnecessarily
|
|
```
|
|
|
|
**Correct (describe the solution):**
|
|
|
|
```sql
|
|
-- Comment explaining why this is better
|
|
CREATE INDEX users_active_email_idx ON users(email) WHERE deleted_at IS NULL;
|
|
|
|
SELECT * FROM users WHERE email = 'user@example.com' AND deleted_at IS NULL;
|
|
-- Only indexes active users, 10x smaller index, faster queries
|
|
```
|
|
|
|
[Optional: Additional context, edge cases, or trade-offs]
|
|
|
|
Reference: [Postgres Docs](https://www.postgresql.org/docs/current/)
|