❶ 请问,计算平均值,在sql语句直接计算,和java后台计算,各自的利弊是什么
看你的数据是从什么地方来的,如果数据是前台输入,那么一般来说java计算较好。比如输入五个值,计算平均值,然后分别存入数据库,这样数据库不需要二次计算。
不过也不是完全这样,如果平均值并不是需要那么及时,那么也可以用oracle计划任务计算。
因为输入的数据,如果在数据库计算,那么是需要先输入,输入完成后再计算,这样等于增加了一道工序,所以如果及时性要求高,那么对于输入数据来说在java端运算,比较好。对于性能来说更加有利。
如果是从数据库读出数据,那么就是数据库端好一些,同样的道理,读出数据你需要先读取,然后计算,计算完成后,再次读取,这个就是比直接计算,然后读取多了一道工序。
不过,根据实际情况也会有些调整,比如这个平均值没什么用,数据库不需要它,而且计算量很大,比较耗费数据库资源,那么可以把这个平均值放在java中计算,这样能节省数据库资源,毕竟数据库不可能只计算这么个平均值,不干其他事情。
所以基本没办法说一定的话,我个人的原则是“这个数数据库需要,那么就在数据库计算,数据库不需要,那么就在java中计算”
至于说的方便维护,个人感觉数据库可能好一些,java如果要改程序,可能涉及面较广;数据库的话,专注于数据,甚至可能都不需要修改,因为数据库avg函数就是计算平均数的,如果条件改了可能只需要改一个语句中的一个“分组字段”或者加一个 and 条件就好了。
❷ java和sql哪个工作更累强度大
sql工作更累强度大。SQL 的工作需求非常高,与顶级编程语言-Java-相比,sql工作更累强度大,数据越来越多,系统越来越慢。起初毫秒级响应的操作,慢慢变成秒级,到了分钟级客户就会来抱怨了。
❸ java程序中写sql语句和存储过程 哪个效率高些
1、存储过程是已经编译过的,在执行时效率高
2、在程序中的SQL语句,每次都要经过数据库服务器的编译、校验、索引选择、缓存选择等等步骤。相对存储过程是慢的
3、当然也有些事情是必须要在程序中处理,例如:字符串的处理,各种情况的判断等,这个不能一概而论,需要具体场景具体分析,然后选择最优的方法来试用。