sql >> Database >  >> RDS >> Sqlserver

Moet u meerdere insert-aanroepen maken of XML doorgeven?

Niet beledigend, maar je denkt hier te veel over na.

Verzamel uw informatie, als u alles bij elkaar heeft, maakt u een transactie aan en voegt u de nieuwe rijen één voor één in. Er is hier geen prestatiehit, omdat de transactie van korte duur is.

Een probleem zou zijn als u de transactie op de verbinding maakt, de gebruikersrij invoegt, dan wacht tot de gebruiker meer profielinformatie invoert, dat invoegt, dan wacht tot ze adresinformatie toevoegen en dat vervolgens invoegt, NIET DOE DIT , dit is een onnodig langlopende transactie en zal problemen veroorzaken.

Uw scenario (waarbij u alle gegevens heeft) is echter een correct gebruik van een transactie, het waarborgt uw gegevensintegriteit en zal uw database niet belasten en zal op zichzelf geen impasses veroorzaken.

Ik hoop dat dit helpt.

PS De nadelen van de Xml-aanpak zijn de extra complexiteit, uw code moet het schema van de xml kennen, en uw opgeslagen procedure moet ook het XML-schema kennen. De opgeslagen procedure heeft de extra complexiteit van het ontleden van de xml en het invoegen van de rijen. Ik zie echt het voordeel niet van de extra complexiteit voor wat een simpele kortlopende transactie is.



  1. toon de laatste 2 vermeldingen in elke categorie uit een mysql-tabel

  2. Grote objectgegevens invoegen in Salesforce.com vanuit SQL Server

  3. Moet ik NOT IN, OUTER APPLY, LEFT OUTER JOIN, EXCEPT of NOT EXISTS gebruiken?

  4. Wat is het beste PostgreSQL High Availability Framework? PAF vs. repmgr vs. Patroni Infographic