问题描述
我的这个方案是要完成两个或多个DataTable的四则运算,运算是通过DataTable中共有的“时间”和“单位”列来关联运算,但是现在有一个问题是如果DataTable中“2007年1月”对应于有700多个单位,那这些表都具有700多行记录,如果正常取数的话。用每条记录信息生成条件,查询数据库返回结果信息大概是0.5秒钟,如果遍历DataRow顺序执行700多条记录,需要耗时350秒,如果有六七个DataTable参与运算,那时间还要扩大六七倍,我想请问各位,有没有一种更好的方法,解决这样的性能瓶颈问题!!!!请指教!!谢谢!
解决方案
解决方案二:
处理方法不对,DataTable是放在内存里面的表,内存本身就是保贵的资源,除非你的内存足够大。LZ写程序的时候还是先多考虑下设计方面的问题吧.
解决方案三:
数据运算,去重等操作一般还是在数据库内部里面处理比较好
解决方案四:
这可道理我也懂,主要是因为生成条件后取数是连接SYBASE数据库取数,而当前系统数据库是ORACLE,要把最终DataTableUpdate到当前Oracle中,所以不能直接写SQL语句在服务器端执行,有没有好的解决这个问题的办法?
时间: 2024-11-05 18:56:22