Acho que a versão com concatenação será praticamente sempre mais lenta.
Se alguma das colunas que você está comparando individualmente tiver índices, o banco de dados normalmente poderá usar os índices para otimizar a junção. Quando você compara concatenações, ele precisa realizar verificações de tabela completas, pois o resultado de um cálculo não estará no índice.
E mesmo que as colunas não estejam indexadas, o banco de dados ainda pode realizar as comparações com mais eficiência. Ele compara um par de colunas por vez e pode parar assim que uma dessas comparações falhar. Ao usar a concatenação, primeiro é necessário combinar todas as colunas, em ambas as linhas, e depois fazer uma comparação de strings.
Finalmente, se alguma das colunas for numérica, a concatenação exigirá a etapa adicional de converter o número em uma string.