eso puede funcionar, pero puede haber coincidencias falsas, sin forma de evitarlas, porque solo tiene una solución de algoritmo. Su mejor opción es crear una tabla de alias. Incluya todas las variaciones que se hayan encontrado para cada nombre de empresa y un FK para el ID de la empresa real. Incluya también una fila para el nombre real.
AliasID CompanyID CompanyAlias
------- --------- ------------
1 1 Company X, Inc <<--actual real company name
2 1 Company X Inc
3 1 Company X
Si no se encuentra una coincidencia de nombre exacta en esta tabla al importar datos, puede usar su algoritmo propuesto u otro, o usar una entrada humana, etc. para encontrar una coincidencia o generar una nueva empresa. En ese punto, inserte en la tabla de alias. Si encuentra que su coincidencia fue incorrecta por alguna razón, puede modificar la tabla de alias para hacer el mapeo adecuado. Si solo opta por un algoritmo, deberá incluir excepciones y su algoritmo crecerá y se ralentizará. Con esta tabla y un buen índice, encontrar coincidencias debería ser rápido.