C# 查询大型Oracle转储的最佳实践

C# 查询大型Oracle转储的最佳实践,c#,oracle10g,C#,Oracle10g,我的客户希望将来自两个oracle转储的信息整合到一个报告中。这些转储以一定的间隔放置在服务器上,并且大小都在5GB左右。 我需要从两个转储读取数据,并将它们分组为有用的内容。这里最大的问题是性能,所以我的问题是:您应该如何处理此类转储,以保持可接受的性能 转储的关系如下所示: 订单(转储1)1---*(转储1)产品1---*(转储2)交易 我希望您能就如何使用大数据查询处理此类项目提供一些指导。答案 我复制了customer的业务域,并使用NHibernate进行映射,因为NHibernate

我的客户希望将来自两个oracle转储的信息整合到一个报告中。这些转储以一定的间隔放置在服务器上,并且大小都在5GB左右。 我需要从两个转储读取数据,并将它们分组为有用的内容。这里最大的问题是性能,所以我的问题是:您应该如何处理此类转储,以保持可接受的性能

转储的关系如下所示:

订单(转储1)1---*(转储1)产品1---*(转储2)交易


我希望您能就如何使用大数据查询处理此类项目提供一些指导。

答案

我复制了customer的业务域,并使用NHibernate进行映射,因为NHibernate可以映射到Oracle 10G数据库。 我们创建了一些有用的标准来收集数据,并使用这些标准来构建报告。 这个实现使用了NHibernate的内置缓存选项,效果非常好。在使用NHProfiler进行调查之后,我不得不对结果查询进行一些调整

摘要

  • 复制了业务域
  • 使用NHibernate将.NET实体映射到Oracle 10G数据库
  • 定义了一些有用的条件(查询)
  • 实现了一个DataCollector类,它使用在步骤3中创建的条件
  • 使用此DataCollector类生成一些报告