应该把基础运算交给数据库还是后端程序?

最基础简单的字段间相加减乘除,再用新字段分组求和求平均。

比如SELECT AVG(365/(fieldA/fieldB)) FROM table WHERE fieldA='x' GROUP BY year;

假设where出来1000千数据,有人说会大量增加数据库压力,貌似将fieldA和fieldB全部传到后端,再计算再分组再求平均要消耗不少网络、内存和计算性能。

有没大佬解惑下。


数据库
后端
2023-08-30 14:02:43
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
卐卐狼卍卐

个人建议放在你的程序中进行计算。

理由是:

1.增加了数据库的负担,会让数据库返回的时间边长,导致你持有连接的时间边长,如果你处于事务中,还会导致你持有锁的时间变长等等。

2.程序和数据库基本都是内网传输,带宽都是相当大的,基本上不用考虑网络方面的问题。

3.至于你说的程序消耗,如果是业务处理,这本来就是它的本职工作,你如果觉得获取的数据太多导致数据库压力大,你可以考虑修改下数据结构,冗余字段或者存储的时候计算好结果,减少数据的获取量。

4.你的程序集群应该比较容易扩容的,你说的内存和计算性能,相对于数据库更容易获得

分享
微博
QQ
微信
回复
2023-08-30 16:01:31
相关问题
后端查询数据库的性能问题
3728浏览 • 1回复 待解决
如何构建数据库ORM增删改查基础能力
1611浏览 • 1回复 待解决
HarmonyOS 数据库框架
273浏览 • 1回复 待解决
OrmDatabase 数据库问题
3480浏览 • 1回复 待解决
多个数据库,同步数据
1815浏览 • 1回复 待解决
HarmonyOS 数据库数据更新怎么监听?
50浏览 • 1回复 待解决
数据中台数据库选择问题
1952浏览 • 1回复 待解决
HarmonyOS 数据库dataORM插入数据失败
121浏览 • 1回复 待解决
HarmonyOS 关系型数据库批量插入数据
167浏览 • 1回复 待解决
数据库操作同步的方法
1736浏览 • 1回复 待解决
关于数据库调试报错问题
217浏览 • 0回复 待解决