sql >> Database >  >> RDS >> Sqlserver

Grote hoeveelheden gegevens verwijderen uit SQL Server 2008

Je vraag is nogal vaag, maar ik denk dat je dit zegt:

  • Ik kan gegevens INVOEREN in mijn database
  • Mijn gegevens BIJWERKEN lijkt moeilijk, dus ik zou liever gewoon VERWIJDEREN en dan opnieuw INVOEREN (omdat ik die code al heb geschreven)

Ik zou zeggen dat dit een slecht idee is, om de volgende redenen (en ongetwijfeld nog veel meer):

  • Zelfs als je gewoon VERWIJDERT, moet je nog steeds de juiste rijen identificeren om te verwijderen, verwijderen uit tabellen in de juiste volgorde, enz. Het is dus onwaarschijnlijk dat je hoe dan ook veel tijd zult besparen
  • U voegt onnodige complexiteit en extra onderhoudswerk toe aan de applicatie:transactieverwerking, extra code om te onderhouden, machtigingswijzigingen enz.
  • Het toevoegen van server-side logica aan de database in de vorm van triggers en/of procedures zal moeilijker worden omdat een VERWIJDEREN niet noodzakelijkerwijs echt VERWIJDEREN betekent, het kan het begin van een UPDATE betekenen (ik bedoel logisch, niet fysiek) en dat is een enorme last om te onderhouden en mogelijk ook om code, sporen of audits te breken die gebaseerd zijn op DML-acties of -gebeurtenissen
  • De database moet meer loggen omdat u een bewerking in tweeën hebt verdeeld

Misschien heb je goede redenen om een ​​UPDATE te vermijden, maar "het is moeilijk om te schrijven" zou daar niet een van moeten zijn (excuses als ik je situatie te simpel simplificeer).

U krijgt mogelijk een nuttiger antwoord als u precies uitlegt wat "moeilijk" is, wat achtergrondinformatie geeft over wat een "grote hoeveelheid gegevens" betekent, enkele tabelstructuren en code laat zien die uw problemen illustreren, enz.




  1. MySQL/SQL:update met gecorreleerde subquery vanuit de bijgewerkte tabel zelf

  2. Hoe herstel ik een dumpbestand van mysqldump met kubernetes?

  3. Beste manier om een ​​configuratiebestand te maken (config.php) php

  4. Opencart 1.5.1.3 toont speciale prijs met start- en einddatum op productweergavepagina