Я хочу использовать UDF для связи таблиц в базе данных.Я не уверен, что это повлияет на скорость моего запроса.
Из того, что я прочитал, запросы имеют обозначение Big-O, в максимуме log (n).Это для поиска по дереву.Если бы я добавил 14 строк кода для каждой проверки, я думаю, что это все равно сохранит алгоритм в log (n).Это правильно?
Должен признаться, я не использовал UDF в запросе.Не могли бы вы использовать UDF в предложении ON?Или вы бы использовали его в предложении WHERE?Какое влияние это окажет на скорость для каждого выбора?
Вот эта функция, о которой я думаю (написана в Excel VBA, а не в Db2.)
Function ismymatch(needle As String, haystack As String)
num_to_match = 10
If Len(needle) < num_to_match Then
ismymatch = False
Exit Function
End If
For i = 1 To Len(needle) - num_to_match + 1
If InStr(haystack, Mid(needle, i, num_to_match)) > 0 Then
ismymatch = True
Exit Function
End If
Next
ismymatch = False
End Function