Моя страница кажется медленной, у меня есть страница, которая имеет по крайней мере 20 запросов "счетчик выбора", каждая строка имеет по крайней мере два поля, составляющих подзапрос подсчета. Я думал, что это не будет так медленно, теперь я не уверен. Я хочу знать, какой метод по умолчанию для подобных ситуаций. (Если мне нужно проиндексировать некоторые столбцы, я тоже хочу решить, какой столбец, но функция count подсчитывает идентификаторы из некоторой таблицы, так что я тоже не думаю, что это постоянная проблема. "
if(isset($_GET["me"])) $me="and post.memberid=".$_SESSION["memberid"]; else $me="";
$votecount="(select count(voteid) from vote where vote.postid=post.postid) as cv";
$commentcount="(select count(commentid) from comment where comment.postid=post.postid) as cc";
$countagree="(select count(voteid) from vote where vote=1 and vote.postid=post.postid) as ca";
$ismyvote=sprintf("(select vote from vote where memberid=%s and vote.postid=post.postid) as mvote",$_SESSION["memberid"]);
$plq=sprintf("select *, %s,%s,%s,%s from post where post.dateposted>=NOW() - INTERVAL %s day %s",$votecount,$commentcount,$countagree,$ismyvote,$since,$me);
Когда я начал разрабатывать это, я думал, что mysql будет кэшировать счетчики полей первичного ключа, и это не вызовет никаких проблем.