美文网首页
java vs 存储过程

java vs 存储过程

作者: mrjunwang | 来源:发表于2018-10-24 13:20 被阅读0次
image.png
image.png

存储过程的优点:
  1.执行速度更快 – 在数据库中保存的存储过程语句都是编译过的

2.允许模块化程序设计 ,程序的可移植性更强– 类似方法的复用(使用存储过程可以实现存储过程设计和编码工作的分开进行,只要将存储过程名、参数、返回信息等告诉编程人员即可);

3.提高系统安全性 – 防止SQL注入 (执行存储过程的用户要具有一定的权限才能使用存储过程)

4.减少网络流通量 – 只要传输存储过程的名称(在大批数据查询时使用存储过程分页查询比其他方式的分页要快很多)

5.在同时进行逐主、从表间的数据维护及有效性验证时,使用存储过程更加方便,可以有效的利用SQL中的事务处理机制 
缺点:

考虑移植性,存储过程的致命伤
如果一个系统过多的使用了存储过程,那系统的业务逻辑过于依赖数据库,这样就会给系统额外的增加一层数据库中的业务逻辑层,如果开发的时候用的sql server,后来发现数据量过大,需要提高性能移植到oracle或者mysql,这样就会很麻烦,相当于把存储过程重写一遍,这是不能忍受的。我们平时在做项目的时候,往往一个功能在客户端实现起来很费劲,在服务端很容易就可以实现,这样好多人就会选择在服务端做,却为以后留下隐患。在分析项目的需求的时候,一定要考虑性能问题,多久有可能会升级, 如果数据量很小,几十年用sql server都没问题,那就可以多用存储过程;但是数据量有可能会逐渐累积成千万条甚至更多,就不得不考虑系统的可移植性,这时候尽量不要用存储过程,全部代码控制。

存储过程的代码可复用性差。
面向对象的思维在存储过程这毫无用武之地,两个很相似的功能在也需要两个存储过程,因为他们是互相独立的,可以互相调用,但是不能继承等面向对象的操作,这也就增加了代码量。

相关文章

  • java vs 存储过程

    存储过程的优点:1.执行速度更快 – 在数据库中保存的存储过程语句都是编译过的 2.允许模块化程序设计 ,程序的可...

  • 领域驱动设计

    存储过程 vs 表视图 vs 领域驱动 存储过程面向集合sql/存储过程编辑表指数级复杂度 表视图面向过程代码编辑...

  • Java调用存储过程

    Java调用存储过程 调用存储过程 调用存储函数 cursor作为out参数返回

  • java中如何调用存储过程

    java中如何调用存储过程 Java如何实现对存储过程的调用: 1、不带输出参数的 create procedur...

  • mysql存储过程

    存储过程和函数 /*存储过程和函数:类似于java中的方法好处:1、提高代码的重用性2、简化操作 */ 存储过程 ...

  • 任务调度框架Quartz

    java.util.Timer vs Quartz 从调度的灵活度比较 从调度数据的存储方式比较 What is ...

  • Mysql存储过程

    一、什么是存储过程 存储过程和函数,类似于java的方法好处:1、提高代码的重用性2、简化操作存储过程:含义:一组...

  • java调用Oracle存储过程

    package testcase; import java.sql.CallableStatement; impo...

  • 存储过程和函数

    存储过程 类似Java中的“方法”好处:1、 代码复用2、 简化操作 存储过程:一组预先编译的SQL语句的集合...

  • mysql存储过程

    1.存储过程是存储在数据库目录中的一段声明性SQL语句。触发器,其他存储过程以及Java,Python,PHP等应...

网友评论

      本文标题:java vs 存储过程

      本文链接:https://www.haomeiwen.com/subject/lzuttqtx.html