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

Czy należy wykonywać wiele wywołań wstawiania lub przekazywać XML?

Bez obrazy, ale przesadzasz z myśleniem.

Zbierz swoje informacje, gdy masz je wszystkie razem, utwórz transakcję i wstawiaj nowe wiersze pojedynczo. Nie ma tutaj spadku wydajności, ponieważ transakcja będzie krótkotrwała.

Problem byłby, gdybyś utworzył transakcję w połączeniu, wstawił wiersz użytkownika, a następnie poczekał, aż użytkownik wprowadzi więcej informacji o profilu, wstawi je, a następnie poczeka, aż doda informacje adresowe, a następnie wstawi je, NIE ZRÓB TO , jest to niepotrzebnie długa transakcja i spowoduje problemy.

Jednak twój scenariusz (w którym masz wszystkie dane) jest prawidłowym wykorzystaniem transakcji, zapewnia integralność danych i nie obciąży bazy danych i nie będzie - sam w sobie - tworzyć zakleszczeń.

Mam nadzieję, że to pomoże.

PS Wadami podejścia Xml jest dodatkowa złożoność, Twój kod musi znać schemat XML, Twoja procedura składowana również musi znać schemat Xml. Procedura składowana ma dodatkową złożoność analizowania pliku xml, a następnie wstawiania wierszy. Naprawdę nie widzę zalet dodatkowej złożoności w przypadku prostej, krótkotrwałej transakcji.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wysłać zapytanie do tabeli SQL i usunąć zduplikowane wiersze z zestawu wyników?

  2. Jak zmienić rozmiar strony SQL Server?

  3. Dziennik SQL Server 2008 nie zostanie obcięty

  4. Jak połączyć się z bazą danych SQL Server 2008 za pomocą JDBC?

  5. Nieparzysta składnia i enkapsulacja INNER JOIN