Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance ADO搜索性能_Performance_Vb6_Ado - Fatal编程技术网

Performance ADO搜索性能

Performance ADO搜索性能,performance,vb6,ado,Performance,Vb6,Ado,由于我不熟悉ADO,我想知道使用VB6查找记录的两种方法中的哪一种通常会产生更快的结果 使用“where”作为限定符的“select”语句。如果记录集计数为零,则未找到该记录 使用客户端光标选择所有在记录中迭代的记录,直到找到记录为止,或者根本不选择 记录集在10000条记录的范围内,并将增长。此外,我愿意接受任何比前面提到的搜索时间更短的东西 SELECT count(*) FROM foo WHERE some_column='some value' 如果结果大于0,则在数据库中找到满足条

由于我不熟悉ADO,我想知道使用VB6查找记录的两种方法中的哪一种通常会产生更快的结果

  • 使用“where”作为限定符的“select”语句。如果记录集计数为零,则未找到该记录

  • 使用客户端光标选择所有在记录中迭代的记录,直到找到记录为止,或者根本不选择

  • 记录集在10000条记录的范围内,并将增长。此外,我愿意接受任何比前面提到的搜索时间更短的东西

    SELECT count(*) FROM foo WHERE some_column='some value'
    
    如果结果大于0,则在数据库中找到满足条件的记录。你不可能比这更快。在
    WHERE
    子句中使用的列上适当的索引可以显著提高性能


    如果结果大于0,则在数据库中找到满足条件的记录。你不可能比这更快。在
    WHERE
    子句中使用的列上适当的索引可以显著提高性能。

    在我能想到的每种情况下,选择使用WHERE子句都会更快

    即使在客户端代码将遍历整个数据库(例如,基于文件的数据库,如Access)的情况下,您将优化用C或C++编写的代码(在数据库驱动程序中)。p> 对于数据库引擎(SQL、MySQL等),性能的提高甚至可能更加深远。通过使用where子句,您可以限制必须通过网络传输的数据量,从而大大改善响应

    其他一些性能提示:

    • 仅选择所需的字段
    • 在常用字段上建立索引
    • 注意您返回的记录集类型。如果只是从数据库返回数据,请使用仅向前游标

    最后,我对VB.NET的数据库性能感到震惊,它比最快的VB6代码快几倍

    在我能想到的任何情况下,选择使用where子句都会更快

    即使在客户端代码将遍历整个数据库(例如,基于文件的数据库,如Access)的情况下,您将优化用C或C++编写的代码(在数据库驱动程序中)。p> 对于数据库引擎(SQL、MySQL等),性能的提高甚至可能更加深远。通过使用where子句,您可以限制必须通过网络传输的数据量,从而大大改善响应

    其他一些性能提示:

    • 仅选择所需的字段
    • 在常用字段上建立索引
    • 注意您返回的记录集类型。如果只是从数据库返回数据,请使用仅向前游标
    最后,我对VB.NET的数据库性能感到震惊,它比最快的VB6代码快几倍