我用table打开一个paradox数据库文件,open之后会在内存中建一个表,如果文件很大,会消耗很多内存,我想知道,如果用filter属性来选取一部分数据,占用的内存是否会较少?
  另外,如果用tquery的sql,如select *from a where no>1000,能不能减少内存的消耗呢?我用的是非sql数据库paradox

解决方案 »

  1.   

    前者不会,后者会,如果可能,尽量用tquery
      

  2.   

    TTable 的 Filter:要配合 FindFirst 等来使用,也就是在打开的表(已在内存中)中筛选需要的记录。
    TTable 的 Filtered: 当为 True 时,需要编程序来进行筛选。
    TQuery 的 SQL:只把符合条件的记录放到内存中。
      

  3.   

    Table 不会,quey可以
    因为table是一次性将所有数据全部取回,Filter只是隐了不合条件的记录,但仍然存在内存中,随时可以取用
    query只是选择符合条件的记录进入内存