我有一个名为 "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/