Давайте предположим, что у меня есть таблица [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
включен из-за возможного более общего решения.