Warum ist die Leistung von Azure Database bei Transaktionen besser?

Wir haben uns für die Verwendung eines Mikro-Orms gegen eine Azure-Datenbank entschieden. Da unser Unternehmen nur "Einfügungen" und "Auswahlen" benötigt, haben wir beschlossen, alle Code-verwalteten @ zu unterdrückeSqlTransaction (keine Parallelitätsprobleme bei Daten).

Dann haben wir festgestellt, dass unsere Instanz von Azure Database sehr langsam reagiert hat. Das "rpc erledigt "Ereignis ist in Verzögerungen aufgetreten, die das Hundertfache der Zeit betragen, die zum Ausführen einer einfachen SQL-Anweisung erforderlich ist.

Nächste, wir haben unseren Code mit EF6 verglichen und festgestellt, dass der Server sehr schnell reagiert hat. Da EF6 eine integrierte Transaktion implementiert, haben wir beschlossen, das @ wiederherzustelleSqlTransaction (ReadCommited) auf dem Mikro-Orm und wir haben festgestellt, dass alles in Ordnung war.

Benötigt die Azure-Datenbank ein explizitesSqlTransaction (verwaltet durch Code)? Wie funktioniert dasSqlTransaction Azure Database-Leistung beeinflussen? Warum wurde es so implementiert?

EDIT: Ich werde genauere Informationen darüber veröffentlichen, wie wir Spuren gesammelt haben. Es scheint, dass unsere Azure-Ereignisprotokolle manchmal in Nanosekunden, manchmal in Millisekunden ausgedrückt werden. Scheint so komisch.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage