怎么优化mysql查询语句

2025-03-22 11:38:15
推荐回答(3个)
回答(1):

select u.uid,count(w.weibo_id) as w_count from ts_user as u left join ts_weibo as w on u.uid = w.uid and u.uid>0 and w.isdel=0 and type_data is not null group by u.uid order by u.ctime desc limit 0,16 你这样排序肯定很忙,如果数据量有上万条,它就得先给你排好序在显示出来,你为什麽不把u.ctime做个限制,在某个时间段。而不是所有的数据,就算是所有的数据,你也只取前17行,你不觉得你花很大的力气,结果是只要取粒芝麻

回答(2):

select u.uid, u.uname, w.c from ts_user u left join (
select uid,count(uid) c from ts_weibo group by uid
) w on u.uid=w.uid order by w.c desc;

回答(3):

type_data是哪个表的?