Estou tentando comparar duas tabelas em dois bancos de dados separados (mesma instância) para uma nova extração de dados. As tabelas têm cerca de 4 milhões de linhas e devido à forma como foram extraídas não estão na mesma ordem em cada tabela, pois são apenas tabelas de teste (não há PKs).
Eu tentei usar (selecionar * da tabela 1, exceto selecionar * da tabela 2) UNION ALL (selecionar * da tabela 2, exceto selecionar * da tabela 1), mas isso resulta em cerca de 10 milhões de linhas, portanto não está funcionando conforme o esperado.
Eu acho que os resultados deveriam ficar em torno de alguns milhares.
Primeiro de tudo você deve definir sua chave primária - um ou vários campos que identificarão o registro de forma única. Todos os campos como chave primária são possíveis, mas não recomendados
Em segundo lugar, você precisa decidir o que entende por 'comparar':
Se os registros forem únicos em cada tabela você pode fazer algo assim: