4.3 如何有效地在数据集中查寻数据
前面的小节说明了如何使用Delphi提供的方法在结果数据集中查寻数据,开发人员可以根据自己的需求使用不同的方法。但是使用这些方法查寻数据并不等于开发人员使用了有效的方法。虽然Locate和Lookup等方法在查寻数据时会自动使用最有效率的方式,但是当你使用这些方法来查寻拥有大量数据的数据表时,你可能会惊讶地发现这将花上许多时间,甚至缓慢到你难以忍受。这是为什么呢?让我们使用下面的范例来做说明。
表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查寻数据便愈缓慢,甚至当数据数量超过一定的数量之后,查寻数据的时间更以数倍的幅度增加,稍后会说明为什么。
因此开发人员必须知道,绝对不要在数据数量较多的数据表中使用Locate、Lookup或是过滤器的方法来查寻数据,因为这样做不但执行效率缓慢,并且会造成网络以及客户端应用程序极大的负担。但是这似乎又陷入了两难的境地,如果不使用这些方法,那么又如何在结果数据集中查寻数据呢?
不用气馁,聪明的开发人员总能开发出既能查寻数据,执行速度又快的应用程序,下面的章节将逐一说明这些技巧。






