我有一个需求,是在线列表,包含字段为string a,string b,datetime c,string d,string e
有上百万条记录,这些记录好多要随时更新,随时检索符合要求的数据,用dataset恐怕不行,用数组也不行,因为数组操作起来检索费资源,灵活性我觉得差一些各位老大,有什么好的办法么??我。net了解不深,请 各位帮我解决一下,谢谢了

解决方案 »

  1.   

    我觉得可以使用hashtable,以带唯一性的数据作KEY,以整个用户对象作VALUE......这样你说会不会更方便点建议而已。呵呵
      

  2.   

    分批次不行,因为实时检索全部数据数据库倒是一个可行的方案,也考虑过,但是就怕实时传送好多记录,会不会影响其它的数据发送(udp数据包)????用哈希表的话,只能根据一个字段来查询,我这个有可能用a查,又有可能用b来查询本来想用数组,可惜数据检索我不是很清楚,我会的就是逐个比较,这样效率可能太低了
      

  3.   

    但是就怕实时传送好多记录,会不会影响其它的数据发送(udp数据包)????
    ======================================================================
    你一次要传输多少记录,1w,10w?? 影响其他数据发送,其他数据发送和数据库有什么关系
      

  4.   

    用datatable试了下。 500w条数据耗掉内存800M左右,900w就outofMemory了数据都走一个网卡,我怕数据频繁而量大影响到udp的业务处理算了,结贴,先忍一忍。在想解决办法
      

  5.   

    找到解决办法了,不过不一定好用一个结构体,然后建立结构体的list数组,再用linq来操作数组,就可以了数组确实是个好东西,同样测试,500w的数据,占用内存280M左右,900万500M左右,关键是能跑900w左右的数据