Я видел в посте что-то вроде «небольшое изменение, которое вы сделали, которое увеличило производительность вашего приложения», комментарий об изменении:
SELECT U.userid,groups_in=(
SELECT COUNT(*)
FROM usersgroup
WHERE userid=U.userid)
FROM tbl_users U
до:
SELECT U.userid, groups_in
FROM users U
LEFT JOIN (
select userid, groups_in=count(*)
from usersgroup
group by userid) GROUPS
ON GROUPS.userid = U.userid
И я подумал: «О, это то, что я делал неправильно!», Однако я пробовал оба запроса в одной и той же среде, и оба дают мне одинаковое время выполнения, и план выполнения БД выглядит точно так же .
Есть ли лучший способ сделать ту же операцию? эти запросы абсолютно нормально?