PL/SQLのパフォーマンスについて
PL/SQLで、元のプログラムから、部品プログラム(以下のTEST_BUHIN)を呼ぶ際の、
パフォーマンスについてお聞きしたいことがあります。
Oracle8i環境を使っています。
以下の2つをコンパイルすると考えてください。
--------------------------------------------------
CREATE OR REPLACE TYPE test_type as object (
COL1 NUMBER(11),
COL2 VARCHAR2(20),
(実際には、40項目くらいあります)
);
/
--------------------------------------------------
CREATE OR REPLACE PACKAGE BODY TEST_BUHIN AS
PROCEDURE TESTINSERT(TESTDATA IN test_type)
AS
BEGIN
INSERT INTO TESTTABLE VALUES(
TESTDATA.COL1,TESTDATA.COL2, ・・・
(以下略)
--------------------------------------------------
今、TESTTABLEにINSERTするプログラムを作成したいのですが、
パフォーマンスを最優先に考えたいと思っています。
その場合、元のプログラム内にINSERT文を作るべきか、
部品(TEST_BUHIN)を使用すべきか迷っています。
パフォーマンスがほぼ同じであれば、部品(TEST_BUHIN)を使用したいと思っています。
部品を使うとパフォーマンスが極端に落ちるということであれば、
部品はコンパイルせずに、元のプログラム内にINSERT文を作成しようと思います。
オブジェクトタイプ型変数を引数として渡した場合、
パフォーマンスへの影響はあるのでしょうか?
自分でも調べてみたのですが、いまいち分かりませんでした。
あと、大きな引数を渡した場合に、メモリをたくさん使ってしまうのかどうかも気になります。
文章が分かりづらいと思いますので、みなさんのご意見などを見て補足させていただきます。
Oracle、PL/SQLに詳しい方、よろしくお願いいたします。