Myślę, że wersja z konkatenacją będzie praktycznie zawsze wolniejsza.
Jeśli którakolwiek z porównywanych kolumn pojedynczo ma indeksy, baza danych zwykle będzie mogła użyć indeksów do optymalizacji złączenia. Kiedy porównujesz konkatenacje, musi wykonać pełne skanowanie tabeli, ponieważ wynik obliczenia nie znajdzie się w indeksie.
A nawet jeśli kolumny nie są indeksowane, baza danych może nadal wykonywać porównania wydajniej. Porównuje jedną parę kolumn na raz i może zatrzymać się, gdy tylko jedno z tych porównań się nie powiedzie. Podczas korzystania z konkatenacji, musi najpierw połączyć wszystkie kolumny w obu wierszach, a następnie dokonać porównania ciągów.
Wreszcie, jeśli którakolwiek z kolumn jest liczbowa, konkatenacja będzie wymagała dodatkowego kroku konwersji liczby na ciąg.