因为我不熟悉ADO,我很想知道找到记录的两种方法中的哪一种通常会使用VB6产生更快的结果。
使用'where'语句作为限定符使用'where'。如果记录集计数为零,则找不到记录。
选择所有使用客户端游标迭代记录的记录,直到找到记录,或者根本不记录。
记录集在10,000条记录范围内并且会增长。此外,除了提到的内容之外,我对任何可以缩短搜索时间的内容持开放态度。
答案 0 :(得分:3)
SELECT count(*) FROM foo WHERE some_column='some value'
如果结果大于0,则在数据库中找到满足条件的记录。你不可能比这更快。您在WHERE
子句中使用的列上的正确索引可以显着提高性能。
答案 1 :(得分:1)
在每种情况下我都能想到,使用where子句选择更快。
即使在客户端代码将遍历整个数据库(例如Access等基于文件的数据库)的情况下,您将使用c或c ++编写的优化代码进行选择(在数据库驱动程序中)。这是总是比VB6快。
对于数据库引擎(SQL,MySQL等),性能提升甚至可能更为深远。通过使用where子句,您可以限制必须通过网络传输的数据量,从而大大改善响应。
一些额外的性能提示:
最后,我对VB.NET的数据库性能感到震惊,它比最快的VB6代码快几倍。