最近在操作几张dbf表(每张表有上万条记录),现在想从这几张表中选出符合条件的记录,我用filter属性,但是操作极慢。每次打开表时都要等很长时间请问有什么办法,加快速度。一定要快。

解决方案 »

  1.   

    先确认你的表是否设了索引?这是最重要的!
    再注意数据表越大,打开的时间也越长,所以尽是不要轻易去打开一张整表,很多的时候打开一张整表也没有必要,只要选出那些有用的满足条件的记录就行了,要选出符合条件的记录还是用SQL语句吧。
      

  2.   

    这么多记录用Filter肯定很慢啦。Filter的工作原理是:在本地内存中把已经取出来的数据集根据一定的条件把符合条件的记录筛选出来,它在数据集打开之后才开始工作,而不是在打开数据集的过程中就起作用。就是说如果你取那些表的数据时不作任何限制,那程序会先把那几万条数据先取到本地内存,然后才根据你的Filter进行过滤。因此,慢的不是Filter,而是数据集打开的过程。
      不知道dbf的表可不可以用sql来查询?如果可以,那解决的办法就是直接用sql语句来查询取结果集,而不要使用Filter。