gpt4 book ai didi

mysql - 在 InnoDB 中查找具有相似关键字的项目?

转载 作者:行者123 更新时间:2023-11-30 23:13:42 27 4
gpt4 key购买 nike

现在我有以下构造来查找具有相似关键字的项目:

CREATE TEMPORARY TABLE tmp (FULLTEXT INDEX (keywords)) ENGINE=MyISAM
SELECT object_id, keywords FROM object_search_de;

SELECT object_id
FROM tmp
WHERE MATCH (keywords) AGAINST ('foo,bar') > 1.045;

DROP TEMPORARY TABLE tmp;

因此,根据总记录量和关键字字段的平均大小,这可能会变得非常慢(执行时间超过 60 秒)。我的目标是在 1 秒内完成这项任务。

除了在 TEXT 字段中用逗号分隔的关键字,我还有一个原子关键字表(意思是两列 keywordobject_id,直接将一个关键字与一个项目相关联)。

是否有任何替代方案或平滑的解决方案来实现相同的效果而不诉诸 MyISAM 镜像表?

最佳答案

首先,不要每次都创建表。您可以创建一次并使用触发器插入/更新/删除记录,或者如果您不想使用触发器则定期(例如每小时)截断并插入记录。

或者,您可以从 MySQL 卸载此任务并使用 Lucene/Solr 或 Sphinx。

关于mysql - 在 InnoDB 中查找具有相似关键字的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18829059/

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