【发布时间】:2013-09-12 08:12:13
【问题描述】:
我有这个应用程序,其中有一个父子表,客户可以订购产品。整个结构在这里发布非常复杂,但可以说,有一张Order 表和一张OrderDetails 表用于存储订单。目前我们正在做的是INSERT 在Order 表中的一条记录,然后对于客户添加的每个项目,将每个项目循环插入到OrderDetails 表中。由于显而易见的原因,该解决方案不可扩展。它适用于大约 100 个项目,但如果用户超过 1000 个项目,或者一个项目的数量超过 1000 个左右,就会开始注意到应用程序的无响应。
我想到了几个解决方案,但我不确定哪一个可以很好地扩展。一种是我使用asp.net 应用程序中的BulkInsert 插入OrderDetails 表。其次是我生成XML,然后将其传递给sql proc,并从XML 中提取/插入数据到OrderDetails 表中,但这会产生XML 生成的内存消耗的相关开销。我知道我可以进行基准测试并亲自查看最适合我的应用程序的方法,但我想知道最常见的策略是什么,并且与其他策略相比会更好地扩展。此外,如果我可以使用另一种技术来代替这两种技术,那将是更好的性能(我知道性能是主观的词,但让我把它缩小到速度)我可以使用它。一般用的最多的是哪个?您在应用程序中使用什么?
【问题讨论】:
-
要么您误解了您的要求,要么您没有正确解释自己。从 RAW 源(例如格式化/分隔文件或源)加载数据时使用 BulkInsert。为我们提供更重要的信息来处理...一些代码、订单数、每个订单的平均详细信息数。
标签: asp.net sql-server insert