问题描述
如果一个程序要多次查询数据库,操作可以分先后完成,那是将datatable多次赋值还是声明多个datatable?哪种方式好?
解决方案
解决方案二:
多次赋值吧,省资源,
解决方案三:
多次赋值!声明多个datatable的时候,每次都要new一下,就要分配内存
解决方案四:
引用2楼jiangshun的回复:
多次赋值!声明多个datatable的时候,每次都要new一下,就要分配内存
或者dataset
解决方案五:
new一下不会浪费多少内存和造成多少时间上的延迟,如果只有一个datatable变量多次赋值,会让程序看起来很乱,datatable的变量名和它存储的内容对不上号,程序不容易看明白,也容易乱,生成多个datatable变量,可以对不同数据起不同的名字,让人一看到名字就知道datatable中放的是什么数据,可理解性会提高很多,不容易出错,这是软件开发的一个原则,如果性能上(内存和速度)符合要求,那么最简单的程序是最好的程序,容易理解的程序是最好的程序,既然内存够用,何必为了节省一点内存而让程序看起来不明白?
解决方案六:
引用4楼stonespace的回复:
new一下不会浪费多少内存和造成多少时间上的延迟,如果只有一个datatable变量多次赋值,会让程序看起来很乱,datatable的变量名和它存储的内容对不上号,程序不容易看明白,也容易乱,生成多个datatable变量,可以对不同数据起不同的名字,让人一看到名字就知道datatable中放的是什么数据,可理解性会提高很多,不容易出错,这是软件开发的一个原则,如果性能上……
解决方案七:
那如果多次赋值,datatable的地址是否每次都不一样?原来的是否自动释放?
解决方案八:
多次new。单纯的new一个空DataTable的开销很小,基本上可以忽略。而且这样程序有逻辑,否则DataTable一路下来就不知道是那个表了。你给DataTable多次赋值只是改变它的引用地址而已,你赋给它的是你新构造的DataTable,它是要占用内存的,只要引用还在它就不会被释放,而且即使它为null了,也不能保证立即或很快就被.net回收。
解决方案九:
具体问题具体分析比如,我们要执行的操作是:对100张结构不同的表,从每一个表里取出(要查询)一些东西,满足一定业务要求。若要求这种操作十分频繁,则在内存够的情况下,就用100个datatable变量好;若要求操作次数不是很频繁,那么使用一个也勉强可以。其实按照常理,只要数据规模不是很大,内容够用,还是用多个变量的好
解决方案十:
永远记住一件事,一个方法只处理一件事。可以提高重用和降低代码的维护难度,更容易阅读.备忘录模式的外部备件说法是相通的.