zoukankan      html  css  js  c++  java
  • .net dataTable对象的处理性能

    今天做了个试验, 试验使用DataTable对象的过滤性能与手工比较性能.

    背景: 一个表中有80W条记录, 有两个字段field1, field2, 其中distinct field1有30W条记录,相当于第个field1对应有3条field2记录, 程序的目的是field1相同时合并field2, 即最终输出为:

    field10: field20;field21;field22...

    ...

    即最终输出30多W行, 第一列是field1,第二列是field1对应的不同field2值的合并串. 使用了下面两种方法,结果大为吃惊:

    >ConsoleApplication1.exe
    loop1:2008-12-18 17:46:08
    begin:2008-12-18 17:46:44
    00:00:00.4720000
    Filter:2008-12-18 17:46:44
    begin:2008-12-18 17:47:33
    00:00:43.7490000

    程序均未算上从DB取数据的时间,只算了处理数据的时间, 发现DataTable的filter性能差得实在太远,估计有60倍的差距. 当然上面的数据中field1的记录数也太多,过滤次数太多, 这也可能是个原因.

    不过以后还是使用下面的方法, 简单易理解, 性能也好, 少用select()过滤了,除非数据量非常少.

    Code
  • 相关阅读:
    Java语言基础(3)
    Java语言基础(2)
    Java语言基础(1)
    标准C语言(13)
    标准C语言(12)
    标准C语言(11)
    标准C语言(10)
    IDEA 学习笔记之 Console显示日志大小
    Java 学习笔记之 线程sleep方法
    Java 学习笔记之 线程isAlive方法
  • 原文地址:https://www.cnblogs.com/margiex/p/1357715.html
Copyright © 2011-2022 走看看