我是做人工社会的,我有一个表,大概2300万条记录,大概每条记录有10几个字段,总共可能将近100G,内存足够用的情况下,想把他读到内存中去,请问如何快速读入,争取在3-5分钟读完?

解决方案 »

  1.   

    2300万不至于有100G吧。除非你字段都很大。
    这里的方法你试试:
    http://www.cnblogs.com/qanholas/archive/2011/08/09/2132239.html
      

  2.   

    每条记录是一个Agent,所以计算的时候再去读数据库会很慢,所以就直接把表全都读到内存里面去,有没有快速一点的办法
      

  3.   

    CPU、内存的占用率都不到50%,大胆的去读吧
    内存小?那就分块读,一次读个5百万条,读了半天,干嘛用啊?不会是2300万条记录都是在线客户端吧?
    那就升级硬件吧。
    硬件不行,再好的读取方法也白搭。读完了数据,没内存了windows就成瘟都死了。。
      

  4.   

    這麼大的數據玩讀進內存,可以直接考慮內存數據庫,如MonetDB,或等待SQL Server的下一個版本就有應用到內存數據庫技術。如果說在當前的SQL Server需要通過程序加載至內存。使用性能優化,就看你磁盤讀寫速度,和CPU 處理能力。按照SSD磁盤讀取速度高達2000mb/s,100GB的數據量3-5分鐘能加載完成是沒問題的。