sql >> Databáze >  >> RDS >> Sqlserver

Odstranění velkého množství dat ze serveru SQL Server 2008

Vaše otázka je docela vágní, ale myslím, že říkáte toto:

  • Mohu VLOŽIT data do své databáze
  • Aktualizace dat se zdá být obtížná, takže bych raději pouze DELETE a pak znovu INSERT (protože jsem tento kód již napsal)

Řekl bych, že je to špatný nápad z následujících důvodů (a bezpochyby mnoha dalších):

  • I když pouze DELETE, stále musíte určit správné řádky, které chcete odstranit, odstranit z tabulek ve správném pořadí atd. Je tedy nepravděpodobné, že stejně ušetříte mnoho času
  • Přidáte aplikaci zbytečnou složitost a další údržbu:zpracování transakcí, další kód k údržbě, změny oprávnění atd.
  • Přidání logiky na straně serveru do databáze ve formě spouštěčů a/nebo procedur bude obtížnější, protože DELETE již nemusí nutně znamenat DELETE, může to znamenat zahájení AKTUALIZACE (myslím logicky, ne fyzicky) a to je obrovská bolest udržovat, stejně jako potenciálně prolomit jakýkoli kód, trasování nebo audity, které jsou založeny na akcích nebo událostech DML
  • Databáze bude muset provést více protokolování, protože jste jednu operaci rozdělili na dvě

Možná máte dobré důvody, proč se chcete AKTUALIZACI vyhnout, ale „je těžké to napsat“ by neměl být jedním z nich (omlouvám se, pokud vaši situaci příliš zjednodušuji).

Užitečnější odpověď můžete získat, pokud přesně vysvětlíte, co je „obtížné“, poskytnete základní informace o tom, co znamená „velké množství dat“, ukážete některé struktury tabulek a kód, které ilustrují vaše potíže atd.




  1. MySQL - Jak vybrat řádky s maximální hodnotou pole

  2. Postgresql kódování base64

  3. Chyba:ORA-01704:řetězcový literál je příliš dlouhý

  4. Smazat vybrané položky pomocí modálního potvrzení PHP