当测试运行 1 个订单和 100 个详细信息时,各种方法之间几乎没有什么差别。
在吞吐量方面,数据库事务处理模型仍然比其他方法略占一些优势。
此测试中各个模型的性能都非常接近,这是因为在此事务处理中完成了大量工作(101 次插入)。这里的成本(例如进程间的 DTC 通信和数据封送)被分摊到整个事务处理过程中,因此变得不是那么明显。
使用多个 DataAdapter 的 InsertOrder
在第二组测试中,我们为数据库中的 Order 和 OrderDetails 表分别关联了 DataAdapter。在 DataAdapter 上,为 InsertCommand 指定了存储过程。首先调用与 Order 表对应的 DataAdapter 上的 Update 方法,它返回新插入订单的 OrderId。然后调用与 OrderDetails 表对应的 DataAdapter 上的 Update 方法。因为 Update 方法不是以批处理方式向数据库发送更改,因此这一技术使用了多次数据库往返操作,以完成这些插入。
请参阅 Performance Comparison: Data Access Techniques(英文)一文,其中比较了各种数据访问技术,包括 OPENXML 和多个 DataAdapter 方法。
测试首先运行 1 个订单和 10 个详细信息。
图 3:InsertOrder_DataSet(Order=1, Details=10)
文章来源于领测软件测试网 https://www.ltesting.net/