这是一个直截了当的问题:您是否知道Java存储过程是否比Oracle数据库中的PL / SQL慢?
我们已经将存储过程从PL / SQL迁移到Java,只是为了对其进行基准测试,并且它占用了PL / SQL的大约两倍的时间。这也是你的经历吗?
感谢。
答案 0 :(得分: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 Stored Procedure Vs PL/SQL Stored Procedure
对于上下文切换发生后的性能,您的基准测试将为您提供最佳答案,但FWIW,因为PL / SQL如此紧密地集成在Oracle数据库中,它应该比存储的Java代码执行得更好,如果你是获取数据或与数据库交互,如果您纯粹操纵已经获取的数据,那将取决于您对数据的操作,基准测试将告诉您答案。
答案 1 :(得分:1)
是。 Java一直是最胖,最慢的孩子。
没有理由从你的pl / sql切换到java的99%。
我将java用于我需要的几个实例。