Database 什么是更快的计数方法?在数据库中使用计数查询,还是以编程方式计数检索到的行?

Database 什么是更快的计数方法?在数据库中使用计数查询,还是以编程方式计数检索到的行?,database,count,Database,Count,我想知道从数据库中计算行数的更快方法是什么?数据库(服务器)中的计数查询将比程序(客户端)中的某种计数更快。 我认为应该考虑的是 数据库的大小 编程语言使用 客户端是否需要计算要计数的行 P/> P> >在用C++、C语言或java等编译语言执行时,计数本身不能比任何更快。在一行行中计数算不了什么 不幸的是,将行从服务器复制到客户机比计算它们要昂贵得多。因此,让服务器计算它们总是更好的 我真的无法想象一个场景,在这个场景中,一个人应该依赖于客户端(如果唯一需要的是计数,而不是行本身) 如果

我想知道从数据库中计算行数的更快方法是什么?数据库(服务器)中的计数查询将比程序(客户端)中的某种计数更快。 我认为应该考虑的是

  • 数据库的大小

  • 编程语言使用

  • 客户端是否需要计算要计数的行


<> P/> P> >在用C++、C语言或java等编译语言执行时,计数本身不能比任何更快。在一行行中计数算不了什么

不幸的是,将行从服务器复制到客户机比计算它们要昂贵得多。因此,让服务器计算它们总是更好的

我真的无法想象一个场景,在这个场景中,一个人应该依赖于客户端(如果唯一需要的是计数,而不是行本身)

如果客户端上需要这些行:
  • 如果所有行都是必需的:在客户机上计数
  • 如果只需要一个页面:在服务器上计数!可能有成百上千的页面,您不想下载所有页面。RDBMS通常可以优化计数,因为计数不需要列数据

  • <> P>仅仅用自己的计数不能用用C++、C语言或java等编译语言执行。在一行行中计数算不了什么

    不幸的是,将行从服务器复制到客户机比计算它们要昂贵得多。因此,让服务器计算它们总是更好的

    我真的无法想象一个场景,在这个场景中,一个人应该依赖于客户端(如果唯一需要的是计数,而不是行本身)

    如果客户端上需要这些行:
  • 如果所有行都是必需的:在客户机上计数
  • 如果只需要一个页面:在服务器上计数!可能有成百上千的页面,您不想下载所有页面。RDBMS通常可以优化计数,因为计数不需要列数据

  • 这取决于需求是什么,我更愿意在数据库级别进行,在客户端计算行数将需要将行传输到客户端。需要考虑的一些问题是
    是否需要将行传递给客户端?应用程序访问数据库的频率要发送的行有多大(行的大小)

    考虑到所有这些,我通常会在DB级别进行计数,但正如我在开始时所说的那样。这取决于我们想要在哪里实现它

    这取决于要求是什么,我更愿意在数据库级别执行,在客户端计算行数将需要将行传输到客户端。需要考虑的一些问题是
    是否需要将行传递给客户端?应用程序访问数据库的频率要发送的行有多大(行的大小)

    考虑到所有这些,我通常会在DB级别进行计数,但正如我在开始时所说的那样。这取决于我们想要在哪里实现它

    有问题吗?你的意思是以编程方式吗?这将取决于InnoDb与MyISAM中的存储引擎和实际查询检查计数。@Merca我的问题更多的是一个通用术语,让我们不要以编程方式讨论特定的DBs或语言Wug:)有问题吗?你的意思是以编程方式吗?这将取决于InnoDb vs MyISAM中的存储引擎和实际查询检查计数。@Merca我的问题更多的是一个通用术语,让我们不要以编程方式讨论特定的DBs或语言Wug:)我同意你所说的@usr,但如果客户端需要行怎么办?在这种情况下,您是否仍然坚持使用服务器计数作为比客户端计数更好的方法?您认为服务器上的额外负载是什么,或者是因为count而导致的负载是一个因素吗?我同意您所说的@usr,但是如果客户端需要行呢?在这种情况下,您是否仍然坚持使用服务器计数作为比客户端计数更好的方法?您认为服务器上的额外负载是什么,还是因为计数而导致的负载是一个因素?