In case you have your own slow SQL query, you can optimize it automatically here.
For the query above, the following recommendations will be helpful as part of the SQL tuning process.
You'll find 3 sections below:
ALTER TABLE `course` ADD INDEX `course_idx_id` (`id`);
ALTER TABLE `round` ADD INDEX `round_idx_uid` (`uID`);
ALTER TABLE `shot` ADD INDEX `shot_idx_round_id` (`round_id`);
ALTER TABLE `shot` ADD INDEX `shot_idx_hole_round_id_shot_numbe` (`hole`,`round_id`,`shot_number`);
ALTER TABLE `shot` ADD INDEX `shot_idx_shot_number` (`shot_number`);
SELECT
shot.hole AS hole,
shot.id AS id,
(SELECT
s.id
FROM
shot AS s
WHERE
s.hole = shot.hole
AND s.shot_number > shot.shot_number
AND shot.round_id = s.round_id
ORDER BY
s.shot_number ASC LIMIT 1) AS next_shot_id,
shot.distance AS distance_remaining,
shot.type AS hit_type,
shot.area AS onto
FROM
shot
JOIN
course
ON shot.course_id = course.id
JOIN
round
ON shot.round_id = round.id
WHERE
round.uID = 78