gpt4 book ai didi

Mysql-如何强制检索相似记录的条数?

转载 作者:行者123 更新时间:2023-11-29 00:58:29 27 4
gpt4 key购买 nike

我在一个网站上工作,该网站显示类似于 youtube 的视频。该网站有一个部分显示了使用全文搜索获得相似视频的最多十个相似视频。

SELECT * , MATCH (`title` , `description`,`videokey` ) AGAINST ('$Keywords') AS score
FROM video
WHERE MATCH (`title` , `description`,`videokey` ) AGAINST ('$Keywords')
LIMIT 10

问题是有时它检索不到 10 个视频。在这种情况下,当相关视频少于 10 个时,是否有办法强制让 10 个视频不完全相关?如果不是,是否可以根据另一个字段(例如类别)通过另一个 SELECT 查询获得 10。我怎样才能以最好和最快的方式做到这一点?

最佳答案

并非如此 - 您的查询需要先针对所有候选行评估条件,然后才能知道将返回多少行,因此返回的行数不能用作该查询中条件的参数.

你可以做两件事(好吧,可能更多,但这里有两件事):

  • 当结果行少于 10 时,只需在您的代码中执行第二个查询。
  • 在通过 UNION 附加到您的第一个查询的第二个查询中获取另外十条记录。 http://dev.mysql.com/doc/refman/5.1/en/union.html在您的代码中,只需将对结果的迭代限制为硬 10,而不是结果行大小。

我会说使用第一个(第二个查询)。第二次数据库查询不会杀死你,除非你正遭受大量读取流量的困扰,在这种情况下,更好的解决方案包括在你可以帮助的情况下根本不访问数据库。

关于Mysql-如何强制检索相似记录的条数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4913853/

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