Anda dapat membantu pengoptimal MySQL dengan memindahkan semua pekerjaan pemfilteran ke subkueri yang hanya mengakses indeks (memanipulasi indeks biasanya jauh lebih cepat daripada memanipulasi data lain), dan mengambil sisa data di kueri terluar:
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
Perhatikan bahwa saya menghilangkan ORDER BY posts.post_id DESC
dari kueri luar, karena biasanya lebih cepat untuk mengurutkan hasil akhir dalam kode Anda daripada mengurutkan menggunakan kueri MySQL (MySQL sering menggunakan filesort untuk itu).
P.S. Anda dapat mengganti kunci unik di follow
tabel dengan kunci utama.