电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

DataTable操作中的性能问题


发布日期:2021/11/16
 

最近的一项工作是关于性能提升方面的要做的第一个事情是要把很多同类型的DataTable合并到一起查了很多关于DataTable的相关函数以后我决定用Merge函数来合并这些DataTable


DataTable[] srcTables = ;

foreach( DataTable src in srcTables )

{

destMerge( src ) ;

}

但是测试的结果让我很是失望性能不是一般的不好经过调查发现性能的瓶颈在Merge函数这里后来经过测试发现如果用下面的代码

DataTable[] srcTables = ;

foreach( DataTable src in srcTables )

{

foreach( DataRow row in srcRows)

{

destImportRow( row ) ;

}

}

结果让人惊奇的是下面的代面的速度是上面的代码速度的倍!

还做了一个事情就是对DataTable进行filter的时候 我的一个同事和我说了以下的代码

DataView dv = dtDefaultView ;

dvRowFilter = filter ;

DataTable result = dvToTable() ;

上面的代码是能工作的但是它的性能一点都不好后来我把上面的代码改成了

DataRow[] rows = dvSelect( filter ) ;

foreach( DataRow row in rows )

{

resultImportRow(row) ;

}

也有数十倍的性能提高

上一篇:一种在线人数统计办法的设计

下一篇:浅谈“值类型”和“引用类型”