首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

4.3  如何有效地在数据集中查寻数据

前面的小节说明了如何使用Delphi提供的方法在结果数据集中查寻数据,开发人员可以根据自己的需求使用不同的方法。但是使用这些方法查寻数据并不等于开发人员使用了有效的方法。虽然LocateLookup等方法在查寻数据时会自动使用最有效率的方式,但是当你使用这些方法来查寻拥有大量数据的数据表时,你可能会惊讶地发现这将花上许多时间,甚至缓慢到你难以忍受。这是为什么呢?让我们使用下面的范例来做说明。

4-7和图4-22列出了当使用Locate方法在不同数量的数据表中查寻数据时花费的时间。

4-7

查寻数据表的记录量

查寻时间()

数十笔

0.102

500

0.13

2000

0.525

10000

2.803

4-22  在不同数量的数据表中查寻数据的时间

从表4-7和图4-22中我们可以很明显地看到,当数据表包含的数据愈多时,Delphi查寻数据便愈缓慢,甚至当数据数量超过一定的数量之后,查寻数据的时间更以数倍的幅度增加,稍后会说明为什么。

因此开发人员必须知道,绝对不要在数据数量较多的数据表中使用LocateLookup或是过滤器的方法来查寻数据,因为这样做不但执行效率缓慢,并且会造成网络以及客户端应用程序极大的负担。但是这似乎又陷入了两难的境地,如果不使用这些方法,那么又如何在结果数据集中查寻数据呢?

不用气馁,聪明的开发人员总能开发出既能查寻数据,执行速度又快的应用程序,下面的章节将逐一说明这些技巧。