向大家致意,
几天前我遇到了在oracle中使用java的功能。从那以后我一直在想 在java中编写静态方法替换常规PL / SQL逻辑的可能性。
因为我有足够的经验 java加上它提供的丰富库,我很想写java方法而不是常规的PL / SQL。会这样吗? 一个好的做法?这样做会有很多性能开销吗?提前谢谢。
答案 0 :(得分:10)
您决定将PL / SQL转换为Java代码会涉及到开销。
虽然我不太相信将业务逻辑放入PL / SQL,但我看到有太多公司这样做,包括我自己的。
执行此操作的“性能考虑因素”不是使用static
方法。例如,您可能需要声明一个arraylist来对值进行排序,并根据值从另一个查询中的数据库中检索更多结果。
IMO,我会将业务逻辑放在我的应用程序中,而不是投资于PL / SQL。这也有助于确保DBMS的可移植性而不是买入。
答案 1 :(得分:6)
取决于! 它们是不同目的的两种语言!
您想做什么类型的操作?
在这种情况下,我相信 Pl / SQL是性能的最佳选择。
注意,我写了PL / SQL:
这两种语言的强大功能,严格地与Oracle相关联,使您可以编写以更快>>方式访问Oracle中的数据的应用程序,并且比任何其他语言都更容易。
你需要:
在这种情况下,我认为 Java是更好的选择,是Oracle的第三选择。
但是我不是在重新发明轮子,这些信息很容易通过像Tom Kyte等 Oracle专家来访问和证明。
只是搜索的一些有用链接:
答案 2 :(得分:2)
我认为将CRUD操作存储为存储过程是可以接受的。如果您使用任何ORM框架,则可以映射SP。通常,数据库是应用程序中更稳定的部分。应用程序可能会被重构或替换,但数据库不会更改(这只是我的经验)。