And*_*ndy 5 .net c# sql .net-4.0 c#-4.0
我继承了应用程序,它所做的是从4个视图中获取数据,其中包含1000个记录的块中的xml文件,然后将它们写入xml文件中,所有这些都由具有9种不同可能性的类型参数分割.这意味着在最坏的情况下,每1000个该类型/视图组合将有36个连接到数据库.
实际数据将存在90.000行,在这种情况下,900 - 936次从数据库中获取最多1000行.
现在我想知道将所有数据读入应用程序并使应用程序使用它来编写900多个文件会带来什么好处.
1000行约800MB,90.000行约81GB的数据被传输.
如果我们一次性读取所有代码,则必须重写代码,尽管这更有意义,但这是一次性工作.在90.000行之后,我们将永远不再使用此代码.是否值得用2,3个小时重写代码,以减少这种连接数量?
如果它是一次性的事情那么为什么要花费任何努力来优化它呢?答:没有.
但是,让我补充一下,回答一般问题,即大查询对许多小问题有什么优势:可能没有.如果你运行一个巨大的查询,你会给中间件留下很多魔力,它可能会或可能不会很好.
虽然有36个并发连接也不是最佳,但它可能比运行可返回80千兆字节数据的查询更好.理想的解决方案(如果您不得不多次使用此代码)将重写它以获取数据块,但不会同时打开大量连接.