The original JOIN Connection statement
SELECT
SUM(Video_flowers. Number) as Num,
VIDEO_FLOWERS.FLOWER_ID,
Flowers.title,
Flowers.image
from
' Video_flowers '
JOIN
' Flowers ' on ' Video_flowers '.' flower_id '=' Flowers '.' id '
JOIN
' video_posts ' on ' Video_flowers '.' video_post_id '=' video_posts '.' id '
WHERE
' video_posts '.' user_id '= $
GROUP by ' Video_flowers '.' flower_id '
can be optimized into
SELECT
Vf.Num, Flowers.title, Flowers.image
from
' Flowers '
Join
(SELECT
SUM(Video_flowers. Number) as Num, video_flowers.flower_id, video_flowers.video_post_id from
Video_flowers
GROUP by ' Video_flowers '.' flower_id ') asVf on ' VF '.' flower_id '=' Flowers '.' id '
Join ' video_posts ' on ' video_posts '.' id '= VF.' video_post_id '
wherevideo_posts.user_id = $;
Thus there is no using filesort and using temporary
MySQL group by using Filesort optimization