gpt4 book ai didi

Oracle PL/SQL 存储过程编译器与 PostgreSQL PGSQL 存储过程编译器

转载 作者:行者123 更新时间:2023-11-29 11:48:43 25 4
gpt4 key购买 nike

我注意到 Oracle 需要一段时间来编译存储过程,但它的运行速度比 PostgreSQL PGSQL 对应物快得多。

使用 PostgreSQL,相同的过程(即全部采用 SQL-92 格式,在 select 和 where 子句中具有函数)编译时间更短,但运行时间更长。

是否有一个指标网站,我可以在其中并排找到 Oracle 与 PostgreSQL 在存储过程、SQL 解析、 View 和 ref_cursors 方面的性能指标?

难道PostgreSQL PGSQL编译器缺少优化套路? Oracle 如何处理存储过程与 PostgreSQL 如何处理它们之间的主要区别是什么?

我正在考虑编写一个 PGSQL 函数库,它允许 PL/SQL 代码在 PGSQL 中编译和运行。 (即 DECODE、NVL、GREATEST、TO_CHAR、TO_NUMBER、所有PL/SQL 函数),但我不知道这是否可行。

最佳答案

这是一个很难完全回答的问题,因为它可能会涉及到很深的问题,但我会加 2 美分来对答案做出高水平的贡献。首先,我非常喜欢 PostgreSQL 和 Oracle。然而,PL/SQL 比 PL/PGSQL 提供的语言/环境或我曾经遇到过的任何其他数据库引擎过程语言要深得多。 Oracle 因为至少 10G 使用了 PL/SQL 的优化编译器。这很可能导致它在您的用例中编译速度变慢的原因。 PL/SQL 也有本地编译。您可以使用简单的编译器指令将 PL/SQL 代码编译为机器代码。这有利于计算密集型逻辑而不是 SQL 逻辑。我的观点是,从功能和性能的角度来看,Oracle 已经花费了大量资源使 PL/SQL 成为一种真正的享受,而我只谈到了许多示例中的两个。PL/SQL 比 PG/SQL 领先光年这就是它的总结,我不认为 PG/SQL 会很快 catch Oracle。

我怀疑您会找到并排比较,但我认为这会非常好。这样做的努力可能不值得大多数人花费时间。此外,我不会重写已经存在的内容。

http://www.pgsql.cz/index.php/Oracle_functionality_(en)

关于Oracle PL/SQL 存储过程编译器与 PostgreSQL PGSQL 存储过程编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8371893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com