Tuy nhiên, có vẻ như việc xử lý ít mã hơn sẽ mang lại cho bạn hiệu suất cao hơn, sử dụng tùy chọn đầu tiên (liên hợp tất cả) là một ý tưởng tồi. Tất cả các câu lệnh chọn phải được phân tích cú pháp và thực thi trước khi dữ liệu được chèn vào bảng. Nó sẽ tiêu tốn rất nhiều bộ nhớ và có thể mất vĩnh viễn để hoàn thành ngay cả đối với một lượng dữ liệu khá nhỏ. Mặt khác, các câu lệnh chèn riêng biệt được thực thi "nhanh chóng".
Chạy một thử nghiệm đơn giản trong SSMS sẽ chứng minh điều này:tạo một bảng đơn giản với 4 trường và thử chèn 20k hàng. Giải pháp thứ hai sẽ thực thi trong vài giây, trong khi giải pháp đầu tiên ... bạn sẽ thấy :).
Một vấn đề khác là khi dữ liệu không đúng trong hàng som (ví dụ:kiểu không khớp), bạn sẽ nhận được lỗi như Conversion failed when converting the varchar value 'x' to data type int.
, nhưng bạn sẽ không có dấu hiệu cho biết hàng nào bị lỗi - bạn phải tự mình tìm ra. Nhưng với các lần chèn riêng biệt, bạn sẽ biết chính xác lần chèn nào không thành công.