High Rails

Avoid N+1 queries

Rule Description

Use eager loading to prevent N+1 queries:
- `includes`: For associations you'll access
- `preload`: Force separate queries (useful for complex conditions)
- `eager_load`: Force LEFT OUTER JOIN

Use the Bullet gem in development to detect N+1 queries automatically.

```ruby
# Bad: N+1 queries
@posts = Post.all
@posts.each { |p| p.author.name } # Queries author for each post

# Good: Eager loading
@posts = Post.includes(:author)
@posts.each { |p| p.author.name } # Single query for authors
```

Included in Rulesets

Rails Standards
36 rules • 1 standard
View
Code Review Standards
58 rules • 0 standards
View

Add This Rule

Sign in to add this rule to your workspace

Sign in with GitHub

Details

Severity
High
Category
Rails
Used in
2 rulesets