Cryogenic1981,
Problema e într-adevăr cauzată de numărul mare de FK-uri spre aceeaşi tabelă (nu de modul în care e scris query-ul). Query-ul poate fi pur şi simplu:
DELETE Users WHERE UserID=101
Dar încearcă aceeaşi instrucţiune dacă ai două tabele care referă UserID sau dacă ai zece tabele care referă UserID. O să observi o diferenţă semnificativă în complexitatea query plan-ului.
Diana,
Cascading DRI nu ajută în acest caz. Chiar sunt neindicate: dacă ştergi user-ul, să ştergi toate înregistrările modificate de el ?! În nici un caz. Poate te refereai la Cascading DRI între tabela Users şi tabelele u1, u2, etc. Atunci da, ai dreptate, însă menţinerea acestor tabele presupune şi adăugarea datelor în ele (nu doar ştergerea), aşa că oricum îţi trebuie un trigger.
Ela,
Întreţinerea FK-urilor poate fi automatizată. Revin astăzi cu detalii.
Răzvan