sql >> Database teknologi >  >> RDS >> Sqlserver

Skal du foretage flere indsæt-opkald eller sende XML?

Ikke fornærmende, men du er ved at tænke over det her.

Saml dine oplysninger, når du har det hele samlet, opret en transaktion og indsæt de nye rækker en ad gangen. Der er ingen præstationshit her, da transaktionen vil være kortvarig.

Et problem ville være, hvis du opretter transaktionen på forbindelsen, indsætter brugerrækken, og derefter venter på, at brugeren indtaster flere profiloplysninger, indsætter det, venter på, at vedkommende tilføjer adresseoplysninger, indsætter det, MÅ IKKE GØR DETTE , dette er en unødvendigt langvarig transaktion og vil skabe problemer.

Men dit scenarie (hvor du har alle dataene) er en korrekt brug af en transaktion, det sikrer din dataintegritet og vil ikke belaste din database, og vil ikke - i sig selv - skabe dødvande.

Håber dette hjælper.

P.S. Ulemperne ved XML-tilgangen er den ekstra kompleksitet, din kode skal kende skemaet for xml'en, din lagrede procedure skal også kende Xml-skemaet. Den lagrede procedure har den ekstra kompleksitet at parse xml'en og derefter indsætte rækkerne. Jeg kan virkelig ikke se fordelen ved den ekstra kompleksitet for, hvad der er en simpel kortvarig transaktion.



  1. Er InnoDB (MySQL 5.5.8) det rigtige valg til multi-milliard rækker?

  2. Sådan fungerer ORD() i MariaDB

  3. Standard datotid med Ecto &Elixir

  4. Får ukendt kolonnefejl ved brug af 'som' i mysql-sætning