club 表存储了包含memberid字段的记录,相同的memberid可能会有多条记录,我想查看多于一条记录的所有member数据
select * from club where memberid in
(select memberid from club group by memberid having count(memberid)>1) order by memberid
2万条记录执行了几分钟,有点夸张,同样的数据在SQLite中执行相同查询只用了15毫秒。
上网查到些资料,问题解决,记录一下。
http://www.cnblogs.com/xh831213/archive/2012/05/09/2491272.html
http://sishuok.com/forum/posts/list/2094.html
正确的写法:
select * from club where memberid in
(select memberid from (select memberid from club group by memberid having count(memberid)>1) ttb )order by memberid
本文详细介绍了如何优化SQL查询,从包含重复memberid的'club'表中筛选出多条记录的成员数据,并通过实例展示了在不同数据库环境下性能的对比。通过调整查询结构,我们成功将执行时间从数分钟缩短至15毫秒,显著提高了效率。
2088

被折叠的 条评论
为什么被折叠?



