我们决定对Azure数据库使用微操作.由于我们的业务只需要“插入”和“选择”,我们决定禁止所有代码管理的sqlTransaction(数据上没有并发问题).
然后,我们注意到我们的Azure数据库实例反应非常缓慢. “rpc completed”事件发生的延迟是运行简单sql语句所需时间的数百倍.
接下来,我们使用EF6对代码进行基准测试,我们发现服务器响应非常快.由于EF6实现了内置事务,我们决定在微观上恢复sqlTransaction(ReadCommited),我们注意到一切都很好.
Azure数据库是否需要显式的sqlTransaction(由代码管理)? sqlTransaction如何影响Azure数据库性能?为什么这样实现?
编辑:我将发布一些关于我们收集痕迹的方式的更准确的信息.似乎我们的Azure事件日志有时以纳秒表示,有时以毫秒表示.看起来很奇怪.