环境:delphi7+sql server2000
表里哟三个字段,都是float类型的,字段名称为x,y,z
记录条数大概50万条左右,是有点云记录导入的
现在要把这些点读取出来,通过点坐标画一张图,遍历起来非常慢
while not adoquery.eof do
begin
  .....
  adoquery.next; 
end;
请问如何能够快读遍历出来啊
请大家不要说分页等技术了,我是必须的全部读出来,不是为的显示记录,是为的画图

解决方案 »

  1.   

    google渲染一次全国地图也要好几个月
      

  2.   

    50万条3个float型字段的数据,就算都是相对高精度的,那总共也不到12MB,应该算不上海量数据...不建议使用ADOQuery,而最好使用原始的ADO COM对象_Recordset。可以考虑多线程分页读取数据,但是就这三个字段的话,那完全无意义。一个线程读取数据并遍历到内存表当中,应该只是一个秒级的时间消耗,然后开多线程各自描点,如果是单一平面的话,最后再进行叠加。