MySQL中有一个高效的字符串匹配算法吗?

时间:2011-05-29 20:54:15

标签: mysql string-matching

是否有用于在MySQL中搜索关键字的快速字符串匹配算法的实现?例如Aho-Corasick或任何其他快速字符串匹配算法。

通常,Aho-Corasick是用Java或任何其他编译语言实现的,但应该可以将它作为MySQL中的存储过程编写。

谢谢!

1 个答案:

答案 0 :(得分:1)

由于存储过程是图灵完成的,您可以使用“游标”循环表中的记录(可能有一些现有的“WHERE”原因),然后您可以在存储过程中执行此操作。

也可以存储函数。

然而,MySQL程序员可用性和性能方面的MySQL存储例程语言非常糟糕,结果不太容易或快速。

所以你可能最好写一个MySQL UDF(你可以用任何语言编写,只要你可以让它看起来像一个C库)并且做到这一点。

考虑您的具体要求。我假设一个标记为“OR col LIKE ...”的查询对你来说效率太低,因为你希望一次匹配成千上万的模式,对吗?