Solid
Drosera anglica
Оптимизация запроса
Запрос работает великолепно, только в 10 раз медленнее, чем надо. Пожалуйста, знающие люди, помогите, чем можете...
Все поля проиндексированны (используются все виды индексов unique, primary, index).
Используется mysql 4.1.
Запрос работает великолепно, только в 10 раз медленнее, чем надо. Пожалуйста, знающие люди, помогите, чем можете...
Код:
SELECT
SQL_CACHE
SQL_CALC_FOUND_ROWS
artist.*,
COUNT(DISTINCT album.album_id) AS artist_album_count,
COUNT(DISTINCT song.song_id) AS artist_song_count,
COUNT(DISTINCT lyric.lyric_id) AS artist_lyric_count,
ROUND(SUM(song2rate.rate_count)/COUNT(song2rate.song_id)) AS artist_rate,
COUNT(DISTINCT comment.comment_id) AS artist_comment_count
FROM
artist
LEFT JOIN album ON artist.artist_id=album.artist_id
LEFT JOIN song ON album.album_id=song.album_id
LEFT JOIN lyric ON lyric.song_id=song.song_id
LEFT JOIN song2rate ON song2rate.song_id=song.song_id
LEFT JOIN comment ON comment.song_id=song.song_id
WHERE
artist.artist_name REGEXP '^a.*$' GROUP BY artist.artist_id
ORDER BY artist.artist_name ASC
Используется mysql 4.1.