因为我不熟悉底层的ADO,所以我想知道使用VB6找到记录的两种方法中的哪种方法通常会产生更快的结果。ADO搜索性能
使用'select'语句使用'where'作为限定符。如果记录集计数为零,则记录未找到。
选择所有使用客户端游标遍历记录的记录,直到找到记录或根本没有。
记录集在10000条记录的范围内,并且会增长。另外,除了提到的内容之外,我愿意接受任何可以缩短搜索时间的内容。
因为我不熟悉底层的ADO,所以我想知道使用VB6找到记录的两种方法中的哪种方法通常会产生更快的结果。ADO搜索性能
使用'select'语句使用'where'作为限定符。如果记录集计数为零,则记录未找到。
选择所有使用客户端游标遍历记录的记录,直到找到记录或根本没有。
记录集在10000条记录的范围内,并且会增长。另外,除了提到的内容之外,我愿意接受任何可以缩短搜索时间的内容。
在每种情况下我都能想到,使用where子句选择更快。
即使在客户端代码将遍历整个数据库(例如Access等基于文件的数据库)的情况下,您也会优化以c或C++编写的代码(在数据库驱动程序中)。总是比VB6快。
对于数据库引擎(SQL,MySQL等),性能的提升甚至会更加深刻。通过使用where子句,可以限制必须通过网络传输的数据量,极大地提高了响应速度。
一些额外的性能提示:
你想最后,我对VB.NET的数据库性能感到震惊,它比最快的VB6代码快几倍。
SELECT count(*) FROM foo WHERE some_column='some value'
如果结果大于0,则在数据库中找到满足您的条件的记录。这不太可能会比这更快。在WHERE
子句中使用的列的适当索引可以显着提高性能。
真棒解释 –