任何人都可以说存储过程的利弊和Java存储过程的优点和缺点?

时间:2010-05-11 13:52:20

标签: database stored-procedures java-stored-procedures

任何人都可以说存储过程的利弊和Java存储过程的优点和缺点吗?以及如何测试它。

祝你好运!

2 个答案:

答案 0 :(得分:7)

支持和反对存储过程的参数倾向于根据您认为正确答案的问题分开:业务逻辑是属于数据库还是应用程序?在论证的陈述中,我会尽量保持中立。如果我成功,我的一些利弊就会自相矛盾。

<强> PRO

  1. 存储过程可以轻松跨应用程序共享数据库代码
  2. 将数据相关逻辑与数据协同定位,可以轻松跨应用程序实施业务规则。此方法使数据所有者优先于数据用户。
  3. 存储过程使用适合数据库编程的语言。
  4. 存储过程随数据库扩展。
  5. CON

    1. 业务逻辑不属于数据库。
    2. 存储过程是用专业和笨重的编程语言编写的,普通开发人员没有兴趣学习。
    3. 我们不能要求DBA编写存储过程,因为DBA讨厌开发人员。
    4. 存储过程在数据库中运行,数据库是瓶颈。
    5. 这些一般要点中的许多也适用于Java存储过程。我写了your related question的答案,所以这些优点和缺点可能看起来很熟悉。

      <强> PRO

      1. Java存储过程允许我们扩展数据库程序可访问的功能。
      2. 特别是它可以让我们更灵活地将操作集成到数据库和操作系统域中。
      3. 很多开发人员都知道如何编写Java。
      4. Java存储过程允许我们跨不同的DBMS产品部署我们的数据库应用程序。
      5. <强> CON

        1. Java的表现不如本机数据库代码。
        2. Java存储过程需要编写定制代码,复制内置功能..
        3. Java不适合数据库操作。
        4. Java可能会带来安全问题。特别是在从数据库内部运行OS上的程序时。
        5. 以下适用于本机存储过程和Java存储过程:开发人员编写的代码,不了解数据库的工作原理真的非常糟糕。这同样适用于在没有适当专业水平的情况下配置的前端构建或ORM工具。但是,这种情况不太可能出现在本机存储过程中,因为它们的功能正在构建高效的数据库应用程序。

答案 1 :(得分:0)

存储过程pro:

- 安全

- 性能和可扩展性

- 允许更改一个层(数据库本身而不是实际的代码) 界面/网页)

可以编写脚本或轻松移动