SELECT user.id,
user.nick,
sum(uid.state=0) as lnums
from user,uid
where
user.password is not null
and
uid.user=user.id
GROUP BY user.id
因为查询时长为0.7s,感觉不太对劲
没啥不对的吧,全表扫描所以慢
@echo醉老仙,uid
表的user
字段,是user
表id
的外键嘛?
如果是,这样?
SELECT u.id, u.nick, count(*)
FROM uid
JOIN user u ON u.id = uid.user
WHERE uid.state = 0
AND u.password IS NOT NULL
GROUP BY uid.user
或者,这样?
SELECT u.id, u.nick, t.cnt
FROM (SELECT user, count(*) cnt
FROM uid
WHERE state = 0
GROUP BY user) t
JOIN user u ON u.id = t.user
WHERE u.password IS NOT NULL
你测测哪个速度快些
uid
表是啥。。