我有一个数据库表,有一个唯一键约束定义,以避免重复的记录发生。检查重复记录VS尝试/捕获唯一密钥约束
我很好奇,如果是在执行INSERT语句之前手动检查重复记录是不好的做法。
换句话说,我是否应该使用WHERE子句运行SELECT语句来检查我将要执行INSERT的记录的重复值。如果找到了记录,然后不要运行的INSERT语句,否则继续运行的INSERT ....
OR
只要运行INSERT语句和try/catch可能由于被抛出的异常到唯一的密钥违规。
我正在权衡两个观点,不能决定哪个是最好的 - 1.不要浪费SELECT电话来检查是否有重复,因为我只能捕获异常VS 2.不要懒惰通过实施丑陋的尝试/捕捉逻辑 VS 3.你的想法在这里? :)