gpt4 book ai didi

php - Mysql嵌套匹配不返回任何结果

转载 作者:行者123 更新时间:2023-11-29 03:31:31 24 4
gpt4 key购买 nike

我想选择匹配的子集

SELECT * FROM (
SELECT * FROM Movie WHERE
MATCH(keywords) AGAINST('$mk')
)
WHERE MATCH(genres) AGAINST('$mg')

$mk 可能是“ Action 片,惊悚片”$keywords 可以是 "hero,guns,forest"

这似乎不起作用,或者我可能做错了什么..

两个查询都返回值。当我将针对查询的匹配与 AND 运算符结合使用时,它也有效。

我正在尝试实现的是根据关键字从电影中获取一组然后从这个子集中获得一个具有匹配流派的集合..如果可能的话,这将继续进行更多的键..

或者是否有更好、更快、更模块化的解决方案?我很难理解连接,我认为它们可能是更好的解决方案,但我不知道..

问候

最佳答案

您当前方法的索引性能会非常差。

相反,创建一个临时表,对其进行索引和全文。

CREATE TEMPORARY TABLE `temp_movie`    
SELECT * FROM Movie WHERE
MATCH(keywords) AGAINST('$mk');

ALTER TABLE `temp_movie` ADD FULLTEXT INDEX(genres);

SELECT * FROM `temp_movie`
WHERE MATCH(genres) AGAINST('$mg')

这应该会执行得更快。根据情况,您可能希望使用非临时表并管理它们的缓存。

关于php - Mysql嵌套匹配不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30003132/

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