質問

を話し合いまして、パフォーマンスへの影響という共通機能/手続きは別パッケージをコピー各パッケージです。

私の考えであることかクリーナーの共通コードをパッケージにも安心のオーバーヘッド。

思想/経験?

役に立ちましたか?

解決

一つの場所にそれを入れて、多くのからそれを呼び出す - それは、基本的なコードの再利用です。別のパッケージを呼び出すことで、任意のオーバーヘッドが非常に小さいだろう。彼らはまだそれを疑うならば、彼らはパフォーマンスの違いを実証するために取得ます。

他のヒント

worriersは、パフォーマンスのオーバーヘッドを実証することによって、彼らの懸念の妥当性を証明するために自由に完璧です。それは些細なことするはずます。

一方で、彼らは複数の場所でコードを繰り返すことで、メモリ使用量とメンテナンスのオーバーヘッドを考慮する必要があります。

一般的なコードは、1つのパッケージになっています。

を除き、呼び出しの手順でパッケージに位置す 異なるデータベース 上DBリンク、オーバーヘッドの呼び出し手順を他のパッケージは無視できます。

あ性能の懸念、メモリ上の懸念が少ない。それには"Oracle黒マジック"です。例えば、チェック このリンク.できれば明確に理解しうることは、自分達をOracleます。ればいいので本当にハードコアなんですよ。

何をすべきは、しかし、質問の依存関係.Oracleのパッケージの2パート スペック本体: スペック はヘッダー、 公開 手続きや機能、可視光以外のパッケージ)を宣言しています。本体 が実施しています。は密接につない2 データベースオブジェクト。

Oracle用のパッケージ状況を示す場合、パッケージには有効または無効になります。場合はパッケージは無効となりますが、そのすべてのその他のパッケージ に依存しているのでは無効となります。例えば、プログラムを呼び出手続きのパッケージ、通話の手順でパッケージB、ということ すプログラム により パッケージ、パッケージに依存パッケージBOracleこの関係は他、ということ プログラムによりパッケージB逆にいえば、パッケージは、プログラムもブレーキ(終了しエラー)。

ることは自明である。が明らかでは、Oracleまたトラックの依存関係のコンパイル時にパッケージ仕様

については、"仕様"と身体の両方のパッケージやパッケージ億ため、有効になります。そこまで変えていくこのパッケージ本体のパッケージBで変更するだけなので身体ではなくスペック Oracleは、パッケージBと呼ばれていないものです。

がの場合の身体を変更するパッケージの仕様、Oracle容疑者がその一部変更 手続きのパラメータダイナミックレンジの広い、マーク 全体のチェーン として無効な、パッケージB-Aおよびプログラム).ごOracleをチェックしない場合は、仕様は変更するだけでチェックしtimestemp.のですが、それだけで本当に良かっrecomplieスペックを無効にします。

場合は無効うんだプログラムが失敗します。だけで一時間後、オラクルを再コンパイルすべて自動的に実行することができます。

この混乱している。ことになるOracle.いやあなたを包み込む脳にすぎます。だけ忘れてはならないことをカップルのもの

  • 複雑なインター-パッケージの依存関係が可能です。ばひとつのその他のものとなっており、一つ以上のもので その確率を覆すべての再コンパイルを伴うデータベースオブジェクトは非常に高い。最悪の場合は"円形"依存関係がパッケージ通話の手順でパッケージBは、パッケージB電話の手順でパッケージA.この場合ではほとんど不可能であることによるコンパイルなブレーキです。

  • いパッケージ仕様、パッケージ本体に ソースファイルです。びに切り替える必要性がある場合、本体のみ、直接手を触れないで仕様!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top