PostgreSQL:获取记录平均值的有效方法

标签 postgresql average

我有一个名为 "ITEM_REVIEW" 的表,其中有一列名为 "score"

我知道我可以通过以下方式获得分数的平均值:

SELECT AVG(score) FROM "ITEM_REVIEW"WHERE "item_id"=1

即使记录堆积如山,这是计算平均值的正确(有效)方法吗?还是在我的 NodeJS 服务器上获取数据并计算平均值更好?

最佳答案

我将其简化为

 SELECT AVG(ir.score) FROM "ITEM_REVIEW" ir 

是的,在快速硬盘上的数据库中保留一百万行,并计算通过网络连接传递的单个 float ,这比通过网络连接将一百万个 float 传输到共享的服务器具有更多不同的职责,并使用一些缓慢的 JavaScript 来计算平均值

数据库非常擅长存储、整理、连接和处理数据;这是他们存在的唯一目的/全部理由。聪明人组成的团队将所有时间都花在实现和改进数据处理功能的性能上,以确保他们的数据库保持领先地位。尽可能将数据保留在数据库中,并在慢速网络链接上拖动尽可能少的字节数(始终在数据库中进行汇总和过滤)

关于PostgreSQL:获取记录平均值的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58298114/

相关文章:

sql - Postgres 9.x 加入重叠的日期和时间范围

sql - 多个 ID 的公差范围内的最接近值

java - 如何将 int [] 数组转换为 java.sql.Array

javascript - 涉及平均字符串字长的函数?

sql - TSQL-查找SQL Server中多条记录的天数差异

postgresql - 如何在 postgresql 函数中使用变量进行循环查询

python - TransactionManagementError - 当 'atomic' block 处于事件状态时,这是被禁止的

mysql - SQL计算总行之间的平均时间差

python - 使用 NumPy 平均符号标准化数据段的最快方法?

MySQL 使用 WHERE AVG() 选择最后 10 行