怎么优化mysql查询语句

发布网友 发布时间:2022-04-24 14:41

我来回答

3个回答

热心网友 时间:2022-04-08 00:23

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行,你不觉得你花很大的力气,结果是只要取粒芝麻追问是要取所有表啦~

追答你是想取所有数据是吧,那你干嘛加个LIMIT 0,16呢,你要先排序再显示的话就很慢,除非你是先显示,之後自己排序

热心网友 时间:2022-04-08 01:41

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;

热心网友 时间:2022-04-08 03:16

type_data是哪个表的?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com