Tengo una tabla de base de datos que tiene una restricción de clave única definida para evitar que se produzcan registros duplicados.Verificar registros duplicados VS try/catch Restricción de clave única
Tengo curiosidad si es una mala práctica NO verificar manualmente si hay registros duplicados antes de ejecutar una instrucción INSERT en la tabla.
En otras palabras, ¿debería ejecutar una instrucción SELECT utilizando una cláusula WHERE que comprueba los valores duplicados del registro que estoy a punto de INSERTAR? Si se encuentra un registro, entonces no ejecutar la sentencia INSERT, de lo contrario seguir adelante y ejecutar el INSERT ....
O
Sólo tiene que ejecutar la instrucción INSERT y tratar/detectar la excepción de que puedan ser lanzados por a una violación clave única.
estoy pesando los dos puntos de vista y no puedo decidir que es mejor- 1. No pierda una llamada SELECT para comprobar si hay duplicados cuando puedo atrapar una excepción VS 2. No se perezoso mediante la implementación fea lógica try/catch VS 3. ??? Sus pensamientos aquí ??? :)