Tôi có bảng cơ sở dữ liệu có ràng buộc khóa duy nhất được xác định để tránh các bản ghi trùng lặp xảy ra.Kiểm tra Bản ghi trùng lặp VS try/catch Ràng buộc khóa duy nhất
Tôi tò mò nếu thực hành không tốt để KHÔNG kiểm tra bản ghi trùng lặp theo cách thủ công trước khi chạy câu lệnh INSERT trên bảng.
Nói cách khác, tôi nên chạy câu lệnh SELECT sử dụng mệnh đề WHERE để kiểm tra các giá trị trùng lặp của bản ghi mà tôi sắp INSERT. Nếu một bản ghi được tìm thấy, sau đó không chạy câu lệnh INSERT, nếu không đi trước và chạy INSERT ....
HOẶC
Chỉ cần chạy câu lệnh INSERT và thử/bắt ngoại lệ có thể được ném do đối với vi phạm Khóa duy nhất.
Tôi cân nhắc hai quan điểm và không thể quyết định cái nào là tốt nhất 1. Không lãng phí cuộc gọi SELECT để kiểm tra trùng lặp khi tôi chỉ có thể bẫy ngoại lệ VS 2. Không được lười biếng bằng cách triển khai logic thử/nắm bắt xấu xí VS 3. ??? Suy nghĩ của bạn ở đây ??? :)