Du kan hjælpe MySQL optimizer ved at flytte alt filtreringsarbejdet til en underforespørgsel, der kun har adgang til indekser (manipulation af indekser er normalt meget hurtigere end at manipulere andre data), og hente resten af dataene i den yderste forespørgsel:
SELECT posts.post_id,
posts.post_b_id,
posts.post_title,
posts.post_cont,
posts.thumb,
posts.post_user,
boards.board_title_l,
boards.board_title
FROM (SELECT post_id
FROM posts
JOIN follow
ON posts.post_b_id = follow.board_id
WHERE follow.user_id = 1
ORDER BY post_id DESC
LIMIT 10) sq
JOIN posts
ON posts.post_id = sq.post_id
JOIN boards
ON boards.board_id = posts.post_b_id
Bemærk, at jeg udelader ORDER BY posts.post_id DESC
fra den ydre forespørgsel, fordi det normalt er hurtigere at sortere det endelige resultat i din kode i stedet for at sortere ved hjælp af en MySQL-forespørgsel (MySQL bruger ofte filesort for det).
P.S. Du kan erstatte den unikke nøgle i follow
tabel med en primær nøgle.