我在 MySQL 中安装了 Damerau-Levenshtein 插件。它运行良好。然而,当我达到超过 150,000 行后,检索数据变得更慢(4 秒),尽管我应用了 damlevlim,将计算限制为 10 的差异。
在不到 20,000 行的情况下不到 1 秒。我想,一旦我达到 100 万行,它会明显变慢。
所有相关字段均已编入索引。
查询很简单:
SET @kisaranmirip=maxdifference;
SET @current_id=tmid;
SET @cari=caritext;
SET @ret=(SELECT indonesian
FROM tm
WHERE
tm_id<tmid
ORDER BY damlevlim(@cari, english,maxdifference)
LIMIT 1);
UPDATE babel.tm
SET indonesian=@ret
WHERE tm_id=tmid
请您的见解以优化流程。谢谢你。