Почему база данных Azure работает лучше с транзакциями
Мы решили использовать микроорму против базы данных Azure. Поскольку нашему бизнесу нужны только «вставки» и «выборки», мы решили исключить все управляемые кодомSqlTransaction
(нет проблем с параллелизмом данных).
Затем мы заметили, что наш экземпляр базы данных Azure реагирует очень медленно. "RPC завершенmsgstr "событие произошло с задержками, которые в сотни раз превышают время, необходимое для запуска простого оператора SQL.
Затем мы сравнили наш код с EF6 и увидели, что сервер отвечает очень быстро. Поскольку EF6 реализует встроенную транзакцию, мы решили восстановитьSqlTransaction
(ReadCommited) на микроорганизме, и мы заметили, что все было хорошо.
Требуется ли для базы данных Azure явноеSqlTransaction
(управляется кодом)? Как работаетSqlTransaction
влиять на производительность базы данных Azure? Почему это было реализовано таким образом?
РЕДАКТИРОВАТЬ: Я собираюсь опубликовать более точную информацию о том, как мы собирали следы. Кажется, что наши журналы событий Azure иногда выражаются в наносекундах, иногда в миллисекундах. Кажется, так странно.