文件型数据库通常在做SQL查询时, 都是完全将结果集查询到, 才开始
送出结果集, 这和C/S的数据库有很大差异, (C/S型在一些查询中
是Server先查出一部份送至客户端, 如果客户端接着还要, Server接着
再送一部份, 如果停止处理, 则无须再查,再给). 在BDE Local SQL 中
不支持Top 20 之类的句法, 所以若想查询的越快, 则需要在
Order 条件上加索引, 若要结果集小, 则可以通过 约束条件的方法减少
结果集, 使得文件结果集大于20 ,但又不太大.
例如, 一万人分数的排列,取20人,只要在分数上有索引, Order 就很快,
为了不返回1万条纪录, 可以加Where 分数 > (xxx), 减小结果集, 具体
(xxx)取多少, 就分数的分布估计情况而定吧, 最后取前20条 处理即可 ,
这样的效率至少是不加约束条件的2-3倍(有可能更高).
如果是C/S型数据库就不用加约束条件了, 数前20条出来即可.