Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Трябва ли да направите няколко извиквания за вмъкване или да подадете XML?

Без да се обиждаш, но прекаляваш с това.

Съберете информацията си, когато я получите заедно, създайте транзакция и вмъкнете новите редове един по един. Тук няма удар в производителността, тъй като транзакцията ще бъде краткотрайна.

Проблем би бил, ако създадете транзакцията във връзката, вмъкнете потребителския ред, след това изчакайте потребителят да въведе повече информация за профила, вмъкнете това, след това изчакайте да добави информация за адреса, след това вмъкнете това, НЕ НАПРАВЕТЕ ТОВА , това е ненужно продължителна транзакция и ще създаде проблеми.

Въпреки това, вашият сценарий (където имате всички данни) е правилно използване на транзакция, той гарантира целостта на вашите данни и няма да натовари вашата база данни и няма - сам по себе си - да създаде блокирания.

Надявам се това да помогне.

P.S. Недостатъците на Xml подхода са добавената сложност, вашият код трябва да знае схемата на xml, вашата съхранена процедура също трябва да знае Xml схемата. Съхранената процедура има допълнителната сложност на анализиране на xml, след което вмъкване на редовете. Наистина не виждам предимството на допълнителната сложност за това, което е проста къса транзакция.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да намерите работни места за агент на SQL Server в Azure Data Studio

  2. Как да експортирате данни от SQL Server 2008.2010 в DML (SQL скрипт)?

  3. Магазинът за заявки на SQL Server

  4. Разлика от две дати и час в sql сървъра

  5. Използване на CASE за връщане на низ, ако няма резултат от командата SELECT