3

谁能说存储过程的优缺点和 Java 存储过程的优缺点?以及如何测试它。

此致!

4

2 回答 2

7

支持和反对存储过程的争论往往会在您认为正确答案的问题上出现分歧:业务逻辑属于数据库还是应用程序?我会尽量保持中立。如果我成功了,我的一些优点和缺点就会自相矛盾。

专业版

  1. 存储过程使跨应用程序共享数据库代码变得容易
  2. 将与数据相关的逻辑与数据放在一起,可以轻松地跨应用程序实施业务规则。这种方法赋予数据所有者对数据用户的特权。
  3. 存储过程使用为数据库编程量身定制的语言。
  4. 存储过程随数据库扩展。

CON

  1. 业务逻辑不属于数据库。
  2. 存储过程是用专业且笨拙的编程语言编写的,普通开发人员对学习没有兴趣。
  3. 我们不能要求 DBA 编写存储过程,因为 DBA 讨厌开发人员。
  4. 存储过程运行在数据库中,而数据库是瓶颈。

这些一般要点中的许多也适用于 Java 存储过程。我为您的相关问题写了一个答案,所以这些优点和缺点可能看起来很熟悉。

专业版

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

CON

  1. Java 的性能不如本地数据库代码。
  2. Java 存储过程需要编写复制内置功能的定制代码。
  3. Java 不适合数据库操作。
  4. Java 可能会带来安全问题。特别是当涉及从数据库内部在操作系统上运行程序时。

以下情况适用于原生存储过程和 Java 存储过程:由不了解数据库如何工作的开发人员编写的代码可能执行得非常糟糕。这同样适用于没有适当专业水平的前端构建或配置的 ORM 工具。但是,本机存储过程不太可能出现这种情况,因为它们的功能旨在构建高效的数据库应用程序。

于 2010-05-11T16:10:41.367 回答
0

存储过程亲:

-安全的

- 性能和可扩展性

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

- 可以轻松编写或移动

于 2010-05-11T13:57:03.277 回答