gpt4 book ai didi

mysql - 如何有效查询 "latest questions"?

转载 作者:行者123 更新时间:2023-11-29 13:51:40 25 4
gpt4 key购买 nike

我的应用程序中有 3 个实体:user , tag , question .

这些实体之间的关系:

  1. user可以选择tag他们感兴趣的是
  2. tag可以附加到question s

这或多或少类似于 stackoverflow 中对应实体之间的关系或quora .

现在我正在尝试添加一个名为“最新问题”的页面,我将在其中呈现一些带有访问用户感兴趣的标签的最新问题。

如何有效地实现这一点?

假设访问用户是 userA 。我现在能想到的解决方案是:

  1. 获取所有标签userA对某个关联表感兴趣
  2. 做一个IN针对 question_tag 的查询获取相关表question_id s
  3. 查找question_id位于 question表并按 time desc 对结果进行排序

所以有两个 IN在这里查询,自数量tag某个用户的 s 可能非常大(可能数千),恐怕这个解决方案不够快。

我正在考虑对多个标签进行编码并将结果放入 question 的列中表,有哪些好的方法可以做到这一点?

最佳答案

您需要向该列表添加一个时间戳字段,然后仅获取按带有限制的时间戳排序的列表。假设 SQL:

select question from listofquestions 
order by whenitwasasked desc limit 5

关于mysql - 如何有效查询 "latest questions"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16599630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com