这个 SQL 查询应该怎么写提高效率?
有以下三张表:
- users (用户表)
id name
- columns (分类表)
id title
- articles (文章表)
id title column_id
他们的关联关系是:一个用户可以关注多个分类,一个分类可以用多篇文章
我简单一下化需求:
查询十篇文章,必须是用户已经订阅的分类中的。(假设关联都已经设置好)// 查询已经关注的分类 $subscribe_columns = AUth::user()->columns()->select('id')->get()->pluck('id'); $articles = Article::whereIn('column_id', $subscribe_columns)->paginate(10);
加入我关注了一千个分类,一万个分类。这样子会感觉效率有问题,是否有更高的查询构造方法?或者这种情况压根不应该用
whereIn
推荐文章: