Minden árva adat eldobása (amit nem fog valamilyen idegen kulcs [MySQL])
Sziasztok,
egy olyan problémával szembesültem, hogy van egy néhány millió rekordos DB, amiből visszamenőleg törölni kellene (6 évnyi adatot) lehetőleg az integritás megtartásával. Mivel a DB maga idegen kulcsokkal és megfelelő kapcsolatokkal lett felépítve, így ezekre tudnék támaszkodni.
Nincs beállítva sehol sem cascade delete (szándékosan, az eredeti DB-ből kézlevágás mellett lehetne törölgetni csak), így a törlés az integritás megőrzésével maximum táblánként lehetséges, ami egy elég hosszadalmas folyamat lenne.
Egy táblában van a főadat, ott megfelelően vannak mentve a timestamp-ek, és az ezekhez kapcsolódó rekordokat (amit ez fog) kellene eldobni, illetve azokat amit már nem fog semmi (ugyan a DB így lett felépítve, de előfordulhatnak benne esetlegesen korai inkonzisztens adatok).
Gondoltam olyan joinos megoldásokra, ahol a másik oldal null azokat a sorokat eldobom, de ez enyhén szólva is macerás első nekifutásra (de ez marad, ha nincs más, mert ez is relatíve kevés melóval megoldható).
Kb. 10-15 egymáshoz kapcsolódó táblából törölni kellene a hozzá tartozó dolgokat, így ez egy jópár órás feladat lenne.
A kérdésem: Van-e olyan módszer amivel csak az "árva" adatokat dobjuk el, amit nem fog semmilyen idegen kulcs?
Előre is köszi az ötleteket!
- Tovább (Minden árva adat eldobása (amit nem fog valamilyen idegen kulcs [MySQL]))
- 1615 megtekintés