• .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
  • 相关阅读:
    htmilunit-- 针对抓取js生成的数据
    httpClient get方式抓取数据
    post方式的数据抓取
    利用win10自带的系统配置禁止开机启动项和程序
    linq中怎么实现多条件关联的左右连接
    win10提示管理员已阻止你运行此应用,如何强制运行
    远程连接SQL Server 2014遇到的问题和解决
    eclipse中删除多余的tomcat server
    resultMap之collection聚集
    empty()和remove()的区别
  • 原文地址:https://www.cnblogs.com/margiex/p/1357715.html
Copyright © 2020-2023  润新知