Operation 217696

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
6.0 ms
Request Impact
1.8% of total request time
Occurred At
Sep 19, 2026 12:54 AM
SQL Analysis
Normal query (<100 ms)
Performance Comparison
Average: 18.1ms
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
Use includes() or preload() to load associated records - Eliminate N+1 queries and reduce database load
Use includes() to eager load associations - Eliminate N+1 queries and reduce database load
Use joins() when you only need to filter, not access associated data - Eliminate N+1 queries and reduce database load
Use preload() when you don't need to query on associations - Eliminate N+1 queries and reduce database load
Add single_column index: add_index :posts, :user_id - Fast JOIN execution
Add single_column index: add_index :users, :active - Fast lookups for active = value queries
Consider converting subqueries to JOINs for better performance - More efficient query execution in most databases
Specify only needed columns instead of SELECT * - Reduced memory usage and faster data transfer
Consider breaking complex query (complexity: 23) into smaller parts - Easier maintenance and potentially better performance
Index Optimization - Review indexes on the 'users' table. Consider composite indexes for WHERE clauses.