python - 长度与数量

标签 python mysql sql

我知道这可能是一个非常基本的差异/问题,但是在数据不存在时抓取某物的 LENGTH 与抓取 COUNT 之间是否存在一般区别?单值(即,它是可迭代的、数组、聚合等)

一些例子:

>>> len([1,2,3,4,5])
5

select count(*) from (
  select "1" union select "2" union select "3" union select "4" union select "5"
) x

count(*)
5

两者之间有什么区别,或者它们在某些情况下可以互换使用(如果是,什么时候?)?

最佳答案

COUNT SQL 函数由服务器端的数据库执行,因此在客户端,Python 脚本仅从服务器接收一个整数,这使得它比检索完整列表要高效得多来自服务器的行数仅用于在客户端使用 Python 中的 len 函数对它们进行计数。另一方面,如果您确实需要数据而不仅仅是对它们进行计数,则应该检索行,然后使用 len 函数对它们进行计数,而不是使用两个 SQL 语句(一个用于查询数据)另一个来计算它们。

关于python - 长度与数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58576516/

相关文章:

C++ : Data retrieved from MySQL table in win32 applications

sql - 如何在 MySQL 中执行 FULL OUTER JOIN?

python - 在 Google Compute Engine 上使用 python 3.6 部署 Django 1.10 应用程序

python - 仅将指定列从列表列表传递到 Pandas 数据框

python - 我怎么会在 Django 中收到此无导入错误?

mysql - 查询显示错误结果

java - 单行子查询返回多行

SQL通过加入父记录来合并子记录

python - scrapy:切换出失败的代理

python - 正则表达式:如果组在文本中只有一次则匹配