如何在postgreSQL中为更大的数据加速查找汉明距离?



我有一个超过10万个条目的potgreSQL数据库,每个条目都有一个大小为10000的位数组。有没有办法加快整个表位数组的汉明距离计算?由于

我尝试使用不同的数据类型,如bytea,文本和数字来保存位数组和计算汉明距离,我分别为每种数据类型尝试了异或门操作,文本比较和数字加法。但是我不能优化这个函数,使它超级快,目前它需要2秒的操作。目标是200毫秒

对于汉明距离不可能有很好的性能,因为它是一个递归过程,具有很高的算法复杂度和非常高的内存占用。https://www.cs.swarthmore.edu/布罗迪/论文/random14-hamming-distance.pdf

在像RDBMS这样的大数据集中使用它是不准确的。

存在一些其他的比较技术,它们没有递归过程,具有更低的复杂性和最小的占用空间…它们不像汉明距离那么精确,但可以做得很好,就像我写的那样:

请参阅" infopath basique">

你可以把两者结合起来…首先使用infimence basique来减少集合,其次使用hamming对一些非常少的结果…

最新更新