Ik heb 2 queries die perfect draaien:
817 records in 0.9 sec
817 records in 1.4 sec
Als ik een combinatie van deze 2 queries maak als volgt:
...is MySQL "eindeloos" (na 2-3 minuten had ik het wel gezien) 100% CPU aan het trekken.
Waarom? Wie kan mij helpen?
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
| SELECT users.id, users.nickname AS nickname, users.created_at AS created_at, users.updated_at AS updated_at, users.roles AS roles, users.email AS email, -- COUNT(posts.id) AS posts_count, COUNT(posts_last_week.id) AS posts_last_week_count FROM users -- LEFT OUTER JOIN posts AS posts ON posts.user_id = users.id LEFT OUTER JOIN posts AS posts_last_week ON posts_last_week.user_id = users.id AND posts_last_week.created_at > NOW() - INTERVAL 1 WEEK GROUP BY users.id |
817 records in 0.9 sec
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
| SELECT users.id, users.nickname AS nickname, users.created_at AS created_at, users.updated_at AS updated_at, users.roles AS roles, users.email AS email, COUNT(posts.id) AS posts_count-- , -- COUNT(posts_last_week.id) AS posts_last_week_count FROM users LEFT OUTER JOIN posts AS posts ON posts.user_id = users.id -- LEFT OUTER JOIN posts AS posts_last_week ON posts_last_week.user_id = users.id AND posts_last_week.created_at > NOW() - INTERVAL 1 WEEK GROUP BY users.id |
817 records in 1.4 sec
Als ik een combinatie van deze 2 queries maak als volgt:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
| SELECT users.id, users.nickname AS nickname, users.created_at AS created_at, users.updated_at AS updated_at, users.roles AS roles, users.email AS email, COUNT(posts.id) AS posts_count, COUNT(posts_last_week.id) AS posts_last_week_count FROM users LEFT OUTER JOIN posts AS posts ON posts.user_id = users.id LEFT OUTER JOIN posts AS posts_last_week ON posts_last_week.user_id = users.id AND posts_last_week.created_at > NOW() - INTERVAL 1 WEEK GROUP BY users.id |
...is MySQL "eindeloos" (na 2-3 minuten had ik het wel gezien) 100% CPU aan het trekken.
Waarom? Wie kan mij helpen?
Let op: Mijn post bevat meningen, aannames of onwaarheden