我正在编写一个NodeJs应用程序,它应该是非常轻的mysql (Engine- InnoDB)。
我正在尝试计算mysql db中表的记录数。
因此,我想知道是使用COUNT(*)函数还是使用SELECT查询获取所有行,然后使用JavaScript对行进行计数。
哪种方式更适合,
发布于 2016-09-29 08:40:36
当然要使用count()
函数--除非您也需要记录中的数据用于其他目的。
如果您查询所有行,那么在MySQL端,服务器必须准备一个结果集(内存消耗,将数据提取到结果集中的时间),然后通过与应用程序的连接(更多的数据需要更多的时间),您的应用程序必须接收数据(同样,内存消耗和创建结果集的时间),最后,您的应用程序必须计数结果集中的记录数。
如果使用count()
,MySQL会对记录进行计数,并只返回一个数字。
发布于 2016-09-29 08:38:38
显然,count()比分别获取和计数要好。作为count(),从索引键中获取总计数(如果有主键)。
另外,获取数据需要花费太多的时间(磁盘I/O和网络操作)。
谢谢
发布于 2016-09-29 08:41:11
当从数据库获取信息时,通常最好的方法是获取所需的东西,而不是其他任何东西。这包括选择特定列而不是select *
,以及在DBMS而不是客户端代码中进行聚合。在这种情况下,由于显然只需要计数,所以使用count()
。
这是一个很好的选择,它将超过任何其他尝试解决方案,因为:
https://stackoverflow.com/questions/39765324
复制相似问题