Operation 251076
SELECT * FROM (SELECT users.id, users.name, users.email, COUNT(posts.id) as post_count FROM users LEFT JOIN posts ON users.id = posts.user_id WHERE users.active = ? GROUP BY users.id) as user_posts JOIN (SELECT user_id, COUNT(*) as comment_count FROM comments WHERE approved = ? GROUP BY user_id) as user_comments ON user_posts.id = user_comments.user_id WHERE user_posts.post_count > ? AND user_comments.comment_count > ?
- Operation Type
sql
- Duration
- 32.0 ms
- Request Impact
- 9.8% of total request time
- Occurred At
- Sep 18, 2026 1:21 PM
- SQL Analysis
- Normal query (<100 ms)
- Performance Comparison
-
Average: 17.9ms
95th Percentile: 34.0ms
Based on 1000 recent operations - Related Operations
-
5 similar operations in this request
Potential N+1 query pattern detected - Optimization Tips
-
Add single_column index: add_index :posts, :user_id - Fast JOIN executionAdd single_column index: add_index :users, :active - Fast lookups for active = value queriesConsider converting subqueries to JOINs for better performance - More efficient query execution in most databasesSpecify only needed columns instead of SELECT * - Reduced memory usage and faster data transferConsider breaking complex query (complexity: 23) into smaller parts - Easier maintenance and potentially better performanceIndex Optimization - Review indexes on the 'users' table. Consider composite indexes for WHERE clauses.