【问题标题】:Good data access methodology(ies) for planning tool?规划工具的良好数据访问方法?
【发布时间】:2011-11-12 05:06:12
【问题描述】:

我正在构建/维护一些规划工具,具有以下特点:

-数据从 MsAccess/SQLServer 加载(只读)到 C# 框架 3.5。数据从 ERP 系统加载到 SQLServer/MsAccess。

-加载大量维护数据(例如,来自各种表的总共 2000.000 条记录),同时需要所有这些数据来进行规划。

目前,我正在使用使用 tableadapter 填充的类型化数据表。然后我遍历每个表中的行,创建包含相同数据的自定义对象。我的其余代码仅适用于那些自定义对象。

这种方法有哪些替代方案,在可维护性和加载速度(从 SQL Server/MSAccess 到内存)方面,替代方案的优缺点是什么?

当前方法的主要缺点是我需要加载整个表,而在某些情况下我将能够动态确定我需要检索哪些记录。但目前的框架似乎并没有为此提供简单的支持。

【问题讨论】:

  • 您对 SQLServer/MsAccess 的使用很奇怪。您的工具是否设计为与半数据库无关?
  • 该工具不需要处理实时数据,SQLServer 数据可以在一夜之间填充以减少对服务器的需求。
  • 目前您的方法遇到了什么问题?
  • 我添加了对我遇到的问题的评论。此外,我不确定可维护性。

标签: c# sql-server ms-access data-access-layer


【解决方案1】:

你的方法对我来说听起来很合理。
它的主要优点是它是very simple
我认为更改它的唯一原因是您确实存在性能问题。
在这种情况下,我建议您分块加载数据(例如,一次 5000 行,类似的)。
如果您为您的应用程序和数据库引擎使用不同的服务器,您可能会受益于在处理当前批次时在单独的线程中加载下一个批次。

但是,再一次 - 如果它以它的方式工作正常 - 那就没问题了。

附言和 billinkc 一样,我对 msAccess 很好奇——它真的能很好地处理这些数据量吗?

【讨论】:

    【解决方案2】:

    为了性能和避免重复造轮子,我强烈考虑使用 ETL 库 - 例如 RhinoETL

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-05
      • 2011-04-24
      • 1970-01-01
      • 2018-06-18
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多