当前位置:博威奇培训网 > 电脑IT > 程序开发

[程序开发]浅谈Java存储过程和复杂SQL语句的陷阱

查看:

黄老师黄老师

最后更新: 2020-08-31 17:23:39

  未上传身份证认证 身份证未认证   未上传营业执照认证 营业执照未认证

商家信息
浅谈Java存储过程和复杂SQL语句的陷阱
  • 13430300330
  • 13430300330

联系我时,请说是在【博威奇培训网】看到的,我会给您最大的优惠!

投诉举报 发布信息
浅谈Java存储过程和复杂SQL语句的陷阱货源详情
首先谈谈存储过程使用的误区,使用存储过程架构的人以为可以解决性能问题,其实它正是导致性能问题的罪魁祸首之一,打个比喻:如果一个人频临死亡,打一针可以让其延长半年,但是打了这针,其他所有医疗方案就全部失效,请问你会使用这种短视方案吗?  为什么这样说呢?如果存储过程都封装了业务过程,那么运行负载都集中在数据库端,要中间J2EE应用服务器干什么?要中间服务器的分布式计算和集群能力做什么?只能回到过去集中式数据库主机时代。现在软件都是面向互联网的,不象过去那样局限在一个小局域网,多用户并发访问量都是无法确定和衡量,依靠一台数据库主机显然是不能够承受这样恶劣的用户访问环境的。(当然搞数据库集群也只是五十步和百步的区别)。  从分层角度来看,现在三层架构:表现层、业务层和持久层,三个层次应该分割明显,职责分明:持久层职责持久化保存业务模型对象,业务层对持久层的调用只是帮助我们激活曾经委托其保管的对象,所以,不能因为持久层是保管者,我们就以其为核心围绕其编程,除了要求其归还模型对象外,还要求其做其做复杂的业务组合。打个比喻:你在火车站将水果和盘子两个对象委托保管处保管,过了两天来取时,你还要求保管处将水果去皮切成块,放在盘子里,做成水果盘给你,合理吗?  上面是谈过分依赖持久层的一个现象,还有一个正好相反现象,持久层散发出来,开始挤占业务层,腐蚀业务层,整个业务层到处看见的是数据表的影子(包括数据表的字段),而不是业务对象。这样程序员应该多看看OO经典PoEAA。PoEAA 认为除了持久层,不应该在其他地方看到数据表或表字段名。  当然适量使用存储过程,使用数据库优点也是允许的。按照Evans DDD理论,可以将SQL语句和存储过程作为规则Specification一部分。 更多资讯:联系地址:沣宏大厦3楼
程序开发发布货源

今日:0 | 程序开发:666 | 所有: 2253

版权所有:博威奇培训网【Boweiqi.com】 Copyright 2014-2020
侵权、举报、投诉、删除信息联系邮箱:services@maigela.com 客服QQ:55933123 我们承诺只要联系到客服人员,当即解决问题不会超过2小时!
免责声明: 请您仔细甄别信息的真实性与安全性,本站不承担任何由用户所发布信息而引起的争议和法律责任
蜀ICP备20024995号