目前是把所有数据取出来,再排序,速度很慢。而且现在要求做分页。
在不考虑加评论总数这个字段的情况下,有没有更优的方法?原生的sql语句可以直接完成吗?
目前是把所有数据取出来,再排序,速度很慢。而且现在要求做分页。
在不考虑加评论总数这个字段的情况下,有没有更优的方法?原生的sql语句可以直接完成吗?
在文章表里面加个字段叫评论数,然后每次有这篇文章新的评论就同时把它加1,然后根据这个字段排序即可
如果只拿文章ID的排序,可以在评论表里面这样做:
select post_id from comment group by post_id order by count(1) desc limit 0, 10;
其中post_id
是文章ID,comment
是评论表,这个语句拿到评论数最多的前10篇文章ID
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读