Optimize a provided SQL query that is currently performing poorly on a large dataset for HackerRank.
Rewrite the query so it returns the same business result with less repeated work. Include only submissions from January 2025 whose user and challenge records exist.
difficulty, challenge_id, title, total_submissions, accepted_submissions, distinct_submitters, acceptance_rate, and performance_rank.| Column | Type | Description |
|---|---|---|
| user_idPK | INT | Unique HackerRank user identifier |
| username | VARCHAR(100) | Public username |
| country | VARCHAR(80) | User country |
| Column | Type | Description |
|---|---|---|
| challenge_idPK | INT | Unique challenge identifier |
| title | VARCHAR(200) | Challenge title |
| difficulty | VARCHAR(30) | Challenge difficulty level |
| Column | Type | Description |
|---|---|---|
| submission_idPK | INT | Unique submission identifier |
| user_id | INT | Submitting user identifier |
| challenge_id | INT | Submitted challenge identifier |
| submitted_at | TIMESTAMP | Submission timestamp |
| status | VARCHAR(20) | Submission outcome |
| score | DECIMAL(5,2) | Submission score |