Java
Java Web开发中,业务逻辑写在SQL里好还是代码里好呢?有什么建议吗?
Web开发中,业务逻辑写在SQL里好还是代码里好呢?有什么建议吗?
谢邀~关注我,了解更多关于开发、架构的分享个人建议,普通的业务逻辑尽量写在后台代码中,尽量避免写在SQL中,并且尽量避免使用存储过程。
不可否认将业务逻辑写在SQL或存储过程中,也是有这种做法的优点,比如:可以减少网络交互的成本,原本后台程序需要多次访问数据库,现在可以用复杂的SQL或者存储过程封装好,然后程序调用一次即可。
但是复杂SQL和存储过程也有很大的缺点:
不可移植性,每种数据库的语法多多少少都会有一些差异;如果SQL中使用到数据的一些函数、方法,而这些又是该数据独有的,那么很难做数据库的迁移。
业务逻辑会存在SQL和程序中,这种业务逻辑多处存在,会让后期的系统维护和调试都变得更加困难。
数据库中所支持的函数及语法不一定可以满足所有的需求,相比来说,编程语言中的功能更加的强大。
如果SQL、存储过程中有复杂的计算,也会增加数据库机器的压力;并且很难做到分布式部署。
相比编程语言,业务逻辑写在SQL、存储过程中,很难做到业务逻辑的抽象,所以从代码复用的角度来看,编程语言更胜一筹。
所以,普通业务逻辑尽量不要使用复杂SQL或存储过程,而如果是报表统计或者ETL抽取等功能,可以根据实际的情况,采用复杂SQL或者存储过程来处理。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
Java编程开发、web开发、Python编程开发有什么区别?哪个更好?
其实在Web开发的整体当中,Web服务(HTTP服务)基本上是最不重要的,前端设计、数据结构设计、业务流程设计都要重要得多,而Web服务的实现不管用什么语言来说都是相对简单的。Python的好处是开发、部署都很快,变更起来很容易,代码量小所以抛弃起来也很容易,不容易背上历史负担;如果你是稳扎稳打写了几百个Java类,那你肯定很难下决心把几百上千行的代码都抛弃掉。Python的缺点是运行起来相对Java来说慢得多,性能有瓶颈的时候Java和Go这样的编译语言的优势就体现出来了,不过大部分公司如果不够快的话,是撑不到性能有瓶颈的时候的。另外一个要素就是你服务器后端究竟是实现了什么业务流程,需要调用哪些外部系统,简单的blog这样的自成体系的web应用现在到处都有现成的,肯定不应该再自己动手做了,那就要考虑哪个语言更适合这些业务流程,如果是个相对计算密集型的、需要多线程的,那么就应该慎用Python,或者提前将计算密集的部分拆出去单独组成服务。如果是业务本身比较繁杂、变更比较频繁的,Python和PHP这样的脚本语言就比较合适。最后就是个人喜好了,像我恐怕死都不会去用Java和PHP,但这只是我,反过来的自然也有,那么如果综合了前面两点之后仍然是有多个选择,自然就需要按照开发人员的喜好来协调了,毕竟开发人员的主观能动性也是很重要的。
python一般用来数据分析,钱景很好。Java和参照一下楼上老哥的回答
JAVA编程更适合企业系统定制开发,Python编程更多面向统计、数据分析等科学方向,而web开发是web网站开发的一个统称,JAVA也有面向web开发的Jsp编程语言Python也有面向web的Django编程。