Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Usuwanie dużych ilości danych z SQL Server 2008

Twoje pytanie jest dość niejasne, ale myślę, że mówisz tak:

  • Mogę WSTAWIĆ dane do mojej bazy danych
  • AKTUALIZACJA moich danych wygląda na trudną, więc wolałbym po prostu USUNĄĆ, a następnie WSTAWIĆ ponownie (ponieważ już napisałem ten kod)

Powiedziałbym, że to zły pomysł z następujących powodów (i bez wątpienia wielu innych):

  • Nawet jeśli po prostu USUNIESZ, nadal musisz zidentyfikować odpowiednie wiersze do usunięcia, usunąć z tabel we właściwej kolejności itp. Więc jest mało prawdopodobne, że i tak zaoszczędzisz dużo czasu
  • Dodasz niepotrzebną złożoność i dodatkowe prace konserwacyjne do aplikacji:obsługa transakcji, dodatkowy kod do utrzymania, zmiany uprawnień itp.
  • Dodanie logiki po stronie serwera do bazy danych w postaci wyzwalaczy i/lub procedur stanie się trudniejsze, ponieważ DELETE niekoniecznie oznacza już DELETE, może to oznaczać rozpoczęcie UPDATE (mam na myśli logicznie, a nie fizycznie) i jest to ogromny problem w utrzymaniu, a także potencjalnie łamaniu jakiegokolwiek kodu, śladów lub audytów opartych na działaniach lub zdarzeniach DML
  • Baza danych będzie musiała więcej rejestrować, ponieważ podzieliłeś jedną operację na dwie

Być może masz dobre powody, by chcieć uniknąć AKTUALIZACJI, ale „trudno jest pisać” nie powinno być jednym z nich (przepraszam, jeśli zbytnio upraszczam twoją sytuację).

Możesz uzyskać bardziej przydatną odpowiedź, jeśli dokładnie wyjaśnisz, co jest „trudne”, przedstawisz pewne informacje o tym, co oznacza „duża ilość danych”, pokażesz niektóre struktury tabel i kod ilustrujący Twoje trudności itp.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie varchar(MAX) vs TEXT na SQL Server

  2. Eliminowanie zduplikowanych wartości na podstawie tylko jednej kolumny tabeli

  3. Różnica serwera SQL (naprzeciw przecięcia)

  4. Utwórz zadanie agenta programu SQL Server w Azure Data Studio

  5. SQL konwertuje dane ciągu w formacie szesnastkowym na tekst ciągu