datatable.select 性能测试
孤剑 2007-07-01 01:31:11 这里的代码样式更好看:
http://www.cnblogs.com/AloneSword/articles/801989.html
由于刚好看到网上的一篇帖子,所以做了这个测试。测试结果发现:
1、DataView.RowsFilter 比 DataTable.Select 性能低很多。查询了MSDN ,发现 DataView 重要的一个功能就是 “筛选”数据,为什么性能还不如 DataTable.Select() 呢?
2、当做 1000w 数据测试时,出现了 SystemOutOfMemory 的异常。主要在这句:
// 1000w 数据时,出现了 SystemOutOfMemory 的异常
row = mDataTable.NewRow();
问题是:难道使用 NewRow() 时,有上限限制?
3、1000w 数据测试时,出现一个现象 :添加前300w 数据时,时间花费都差不多;300-400w 时,时间是前面的一倍;400-500w 时间更是长久;好像越到后来时间越长?为什么呢?
1000w 数据测试“循环添加数据”功能的结果:
Adding data ...
Readed 1000000 rows [ 7651.0016 ms]...
Readed 2000000 rows [ 8341.9952 ms]...
Readed 3000000 rows [ 7030.1088 ms]...
Readed 4000000 rows [ 24545.2944 ms]...
Readed 5000000 rows [ 70251.016 ms]...
Readed 6000000 rows [ 369591.4464 ms]...
Readed 7000000 rows [ 668561.344 ms]...
Readed 8000000 rows [ 1384751.1744 ms]...
// 再往下就出现了 2 中所描述的异常
人老实,测试这么做也是没有办法,自己测试时,发现了好多需要改进的地方,希望大家不要见笑,帮我看看上面的问题,谢谢!
放上代码居然说内容太长,晕!
详细内容和测试代码看这里吧!
http://www.cnblogs.com/AloneSword/articles/801989.html