¿Cómo optimizar la consulta si la tabla contiene 10000 entradas usando MySQL?
Cuando ejecuto esta consulta como esta, llevan mucho tiempo de ejecución porque la tabla user_fans contiene10000 Entradas de usuarios. ¿Cómo puedo optimizarlo?
Consulta
<code>SELECT uf.`user_name`,uf.`user_id`, @post := (SELECT COUNT(*) FROM post WHERE user_id = uf.`user_id`) AS post, @post_comment_likes := (SELECT COUNT(*) FROM post_comment_likes WHERE user_id = uf.`user_id`) AS post_comment_likes, @post_comments := (SELECT COUNT(*) FROM post_comments WHERE user_id = uf.`user_id`) AS post_comments, @post_likes := (SELECT COUNT(*) FROM post_likes WHERE user_id = uf.`user_id`) AS post_likes, (@post+@post_comments) AS `sum_post`, (@post_likes+@post_comment_likes) AS `sum_like`, ((@post+@post_comments)*10) AS `post_cal`, ((@post_likes+@post_comment_likes)*5) AS `like_cal`, ((@post*10)+(@post_comments*10)+(@post_likes*5)+(@post_comment_likes*5)) AS `total` FROM `user_fans` uf ORDER BY `total` DESC lIMIT 20 </code>