это может сработать, но могут быть ложные совпадения, которые невозможно предотвратить, потому что у вас есть только решение на основе алгоритма. Лучше всего создать таблицу псевдонимов. Включите каждый вариант, когда-либо найденный для каждого названия компании и FK, в реальный идентификатор компании. Также включите строку для фактического имени.
AliasID CompanyID CompanyAlias
------- --------- ------------
1 1 Company X, Inc <<--actual real company name
2 1 Company X Inc
3 1 Company X
Если точное совпадение имен не найдено в этой таблице при импорте данных, вы можете использовать предложенный вами алгоритм или другой, или использовать человеческий вклад и т. Д., Чтобы найти совпадение или создать новую компанию. В этот момент вставьте в таблицу псевдонимов. Если вы обнаружите, что ваше совпадение по какой-то причине неверно, вы можете изменить таблицу псевдонимов, чтобы сделать правильное сопоставление. Если вы используете только алгоритм, вам нужно будет включить исключения, и ваш алгоритм станет большим и медленным. С этой таблицей и хорошим индексом поиск совпадений должен быть быстрым.