最近正在做一个信息统计查询系统,包含了好几个统计查询的页面,每个页面的统计逻辑都不少。
我一开始考虑到尽量少的调用数据库连接,让逻辑在数据库里面跑,性能会好些。但是,做到后来却又发现,每个查询的sql都很长。而且用的是ibatis,好多判断的逻辑也掺杂在里面,太难维护了。如果把逻辑放在java里面,虽然代码很灵活,还可以有注释,便于维护,但是一个查询页面要调用好多次数据库,甚至还可能有循环调用,查询效率太低。
在这里就是想问下各位大牛们,那种方案比较合适啊
------解决方案--------------------
尽量在java端做
------解决方案--------------------
我是在sql里面处理
------解决方案--------------------
身为java程序员,虽然sql也还不错,但是建议写在java逻辑层里面 方便维护
------解决方案--------------------
根据情况定,如果太复杂的,可以使用存储过程。
------解决方案--------------------
那就看你的数据量和查询所占用的时间,如果逻辑放在java端来进行处理的话,查询不是很慢,还过得去的话,那就放在sql端,毕竟你的代码可能会进行升级或者是二次开发的,所以可维护性是要考虑的,
如果实在比较慢,或者是数据量比较大的话,那就考虑sql优化,或者是写存储过程吧。那样会好一点。
------解决方案--------------------
写Java里吧,不然你得写存储过程吧
------解决方案--------------------
你不是用ibatis吗?写在sqlMap里面啊,为什么会不好维护?
------解决方案--------------------
还是再Java中比较合适 或者封装成xml文件 把睡起来封装进去
------解决方案--------------------
java逻辑里面
------解决方案--------------------
首选JAVA处理啊,内存永远比调用存储过程来的快
------解决方案--------------------
我一般是用存储过程 处理
------解决方案--------------------
一般都推荐JAVA吧。 易维护。。
现在的大公司都流行将逻辑劲量从数据库中移除,就是SQL要劲量简单