3

这是一个直截了当的问题:您知道 Java 存储过程在 Oracle 数据库中是否比 PL/SQL 慢?

我们将存储过程从 PL/SQL 迁移到 Java 只是为了对其进行基准测试,它所花费的时间大约是 PL/SQL 的两倍。这也是你的经历吗?

谢谢。

4

2 回答 2

6

每当您在语言之间切换时,都会产生开销,称为上下文切换。

http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:60122715103602

在 SQL 和 PL/SQL 之间移动甚至会产生开销,并且它们非常紧密地集成在一起。因此,在 Java 和 PL/SQL 之间移动总是比纯 PL/SQL 效率低。

Java 存储过程与 PL/SQL 存储过程

至于上下文切换发生后的性能,您的基准测试将为您提供最佳答案,但 FWIW,由于 PL/SQL 与 Oracle 数据库紧密集成,如果您正在获取数据或存储的 Java 代码,它的性能应该更好与数据库交互,如果您纯粹是在操作已经获取的数据,这将取决于您对数据所做的事情,您的基准测试会告诉您答案。

于 2012-01-19T12:01:48.437 回答
1

是的。Java 一直是最胖、最慢的孩子。

99% 的工作都没有理由从 pl/sql 切换到 java。

我将 java 用于我需要的几个实例。

于 2012-08-08T16:44:08.393 回答