Quelli sono i migliori e più efficienti. Per le domande di produzione userei 2
.
L'unico altro modo che mi viene in mente sarebbe (IMO) adatto solo per la rimozione rapida e sporca di dati in un ambiente di test (evitando la necessità di analizzare l'ordine corretto)
- Disabilita tutti gli FK elimina i dati desiderati, quindi riattiva gli FK. Questo è inefficiente in quanto devono essere riabilitati
WITH CHECK
per evitare di lasciare gli FK in uno stato non attendibile, il che significa che tutti i dati conservati devono essere riconvalidati. - Elenca tutti i
DELETE
istruzioni sulle tabelle interessate in ordine arbitrario ed eseguire il batch tutte le volte necessarie finché non riesce senza errori FK.