Tôi nghĩ rằng phiên bản có nối thực tế sẽ luôn chậm hơn.
Nếu bất kỳ cột nào bạn đang so sánh riêng lẻ có chỉ mục, cơ sở dữ liệu thông thường sẽ có thể sử dụng các chỉ mục để tối ưu hóa kết hợp. Khi bạn so sánh các nối, nó phải thực hiện quét toàn bộ bảng, vì kết quả của một phép tính sẽ không có trong chỉ mục.
Và ngay cả khi các cột không được lập chỉ mục, cơ sở dữ liệu vẫn có thể thực hiện các phép so sánh hiệu quả hơn. Nó so sánh từng cặp cột tại một thời điểm và có thể dừng ngay khi một trong những so sánh đó không thành công. Khi sử dụng phép nối, trước tiên nó phải kết hợp tất cả các cột, trong cả hai hàng, sau đó thực hiện so sánh chuỗi.
Cuối cùng, nếu bất kỳ cột nào là số, việc ghép nối sẽ yêu cầu thêm bước chuyển đổi số thành chuỗi.