2012年7月8日日曜日

[Oracle]PL/SQLでの数値計算はPLS_INTEGER(サブタイプ含む)を使用する

「PL/SQL言語リファレンス」によると、PL/SQLでの数値計算はNUMBERを使用するより、PLS_INTEGER(またはそのサブタイプ)を使用したほうが高速に処理できるようです。詳細は、以下のドキュメントに記述されています。

PLS_INTEGERおよびBINARY_INTEGERデータ型

また、上記のドキュメントによるとNULLが許容されずに計算時にオーバーフローが起こり得ない数値の場合には、PLS_INTEGERのサブタイプの「SIMPLE_INTEGER」を使用するほうがより高速なようです。

SIMPLE_INTEGERの詳細
PLS_INTEGERのSIMPLE_INTEGERサブタイプ

今まで、PLS_INTEGERを使うようにしてきたけど、用途によってはSIMPLE_INTEGERも検討しないと。