【发布时间】:2010-10-26 14:26:08
【问题描述】:
我继承了应用程序,它的作用是从 4 个视图中获取数据,其中包含 1000 条记录的块(其中包含 xml 文件),然后将它们写到 xml 文件中,所有这些都由具有 9 个不同的类型参数分割可能性。这意味着在最坏的情况下,每 1000 个该类型/视图组合将有 36 个到数据库的连接。
实际数据将存在 90.000 行,在这种情况下,从数据库中提取多达 1000 行需要 900 - 936 次。
现在我想知道将所有数据读入应用程序并让应用程序使用它来写入 900 多个文件会有什么优势。
1000 行大约是 800MB,90.000 行大约是 81GB 正在传输的数据。
如果我们一次阅读所有代码,则必须重写代码,尽管这更有意义,但这是一次性的工作。在 90.000 行之后,我们将不再使用此代码。花 2 到 3 个小时来重写代码以通过这种方式减少连接量是否值得?
【问题讨论】:
-
如果是一次性工作,似乎不值得重写。当我完成输入这句话时,它实际上可能已经执行完毕。
-
是否值得花时间重新编写经过测试和工作的一次性代码?如果没有实际问题,我会说您可能会为您的时间找到更好的用途...
-
多个请求是否发生在单个事务中?数据是通过网络服务还是直接进入盒子?我想说这些对于回答这个问题很重要。
-
PaulG,对于您的问题,交易采用的方法将重复 936 次,使用 using 语句,因此每次都应关闭连接。这是需要花费很多时间才能在某个位置的盒子上运行的东西(在此之前有一些步骤可以提供数据库中的数据。)。
标签: c# .net sql .net-4.0 c#-4.0