【发布时间】:2019-03-02 23:25:31
【问题描述】:
我正在尝试查找两个不同表 TableA 和 TableB 的列之间的 Levenshtien 距离。基本上我需要将 TableA 的 ColumnA 与 TableB 中 ColumnB 的所有元素进行匹配,并找到 Levenshtien 距离
我创建了一个 Levenshtien 函数,如下所示
CREATE FUNCTION [Levenshtein]
(@value1 [NVARCHAR](MAX),
@value2 [NVARCHAR](MAX))
RETURNS [INT]
AS
EXTERNAL NAME [FastenshteinAssembly].[Fastenshtein.Levenshtein].[Distance]
GO
这基本上是在调用我机器上的 Levenshtien dll。我尝试为此操作创建一个存储过程,但我不确定这是否是一种优化方法。
表 B 包含数百万个 CompanyName,而 TableA 也包含数千个 CompanyName,因此此操作本质上是 (n*m) 个操作。
实现这一目标的优化方法是什么。
谢谢
【问题讨论】:
标签: sql-server tsql optimization levenshtein-distance