Эффективное сравнение строк из одной буквы - PullRequest
0 голосов
/ 28 января 2020

Давайте предположим, что у меня есть таблица [data] со столбцом [address] (не PK, но я мог бы ее изолировать, если потребуется). Я хочу знать возможные пары [address], чтобы одна строка равнялась другой, за исключением одного отличного от c символа. Как реализовать это способом, обеспечивающим хорошую производительность?

Мое текущее решение состоит в том, чтобы иметь таблицу numbers, а затем inner join таблицу с самим собой

on numbers.value <= len(data1.address) and stuff(data1.address,numbers.value,1,'') = e2.address

Мне просто интересно, есть ли что-нибудь быстрее. Может быть, курсор (через возможные позиции другого символа) в этом редком случае окажется быстрее?

Пока объясняется лог c, ответ не должен иметь реального кода. Псевдокод тоже подойдет. Тег 10101

sql включен из-за возможного более общего решения.

...