primera nota que he visto esta pregunta: TSQL delete with an inner joinSQL Eliminar si la fila no se ve afectada por las limitaciones
que tienen una gran mesa y varias relaciones de clave externa, cada una de ellas con los datos de una determinada edad. Necesitamos eliminar datos más antiguos que un dato dado de forma regular para evitar que el DB crezca sin límite.
Estoy escribiendo una consulta que eliminará de cada punto de la estrella si lo hace por los parámetros dados (lamentablemente estos son configurables y diferentes entre las tablas).
Después de esta primera eliminación, tengo una tabla central que me preocupa que estoy haciendo el doble del trabajo al intentar eliminar, ya que al eliminar la base de datos comprueba los condicionales. Tengo un conjunto de:
AND NOT EXISTS
(SELECT key
FROM table
WHERE table.key = centretable.key)
que TSQL está convirtiendo en una anti semi unión correcta y haciéndola muy bien en los índices. El problema es que crea una lista de cosas para eliminar y luego realiza las mismas comprobaciones nuevamente mientras realiza la eliminación.
Supongo que mi pregunta es si hay un intento de eliminar por fila, (no voy a hacer eso en un cursor porque sé lo lento que sería), pero se podría pensar que tal palabra clave existiría , No he tenido suerte encontrándolo.
re su comentario; Agregué un ejemplo de la nocheck para desactivar una clave foránea. –