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

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

比如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
相关问题
后端查询数据库的性能问题
3819浏览 • 1回复 待解决
如何构建数据库ORM增删改查基础能力
1757浏览 • 1回复 待解决
OrmDatabase 数据库问题
3589浏览 • 1回复 待解决
HarmonyOS 数据库框架
391浏览 • 1回复 待解决
多个数据库,同步数据
1920浏览 • 1回复 待解决
HarmonyOS 数据库需求咨询
8浏览 • 1回复 待解决
HarmonyOS 数据库数据更新怎么监听?
181浏览 • 1回复 待解决
HarmonyOS 数据库dataORM插入数据失败
276浏览 • 1回复 待解决
数据中台数据库选择问题
2040浏览 • 1回复 待解决
HarmonyOS 关系型数据库批量插入数据
374浏览 • 1回复 待解决