|
SET PROCEDURES_CACHE ステートメントは、データベースエンジンがストアド プロシージャのキャッシュとして予約する SQL セッションのメモリ量を指定します。
メモリ量(メガバイト)の値は、ゼロからおよそ 20 億までの整数です。データベース エンジンは、デフォルトを自動的に 5 MB とします。各セッションは、SET ステートメントを発行することにより、そのセッションのキャッシュ メモリ量を変更できます。
SET PROCEDURES_CACHE の対となるステートメントは SET CACHED_PROCEDURES です。
PROCEDURES_CACHE にゼロ以外の値を設定すると、以下の条件が適用されます。プロシージャの実行によって割り当てられたメモリが PROCEDURES_CACHE 値を超える場合、データベース エンジンは最近最も使用頻度の低いプロシージャをキャッシュから削除します。
メモリ キャッシュを使用している場合、プロシージャの実行後もコンパイルしたストアド プロシージャを保持しています。一般的に、キャッシングによって、キャッシュされたプロシージャの次回からの呼び出しのパフォーマンスが向上します。キャッシュの設定やアプリケーションが実行する SQL によっては、過度のメモリ スワッピングやスラッシングが発生するので注意してください。スラッシングはパフォーマンスの低下を招きます。
キャッシュ用の予約メモリ量は、SET ステートメントのほかにレジストリ設定でも指定できます。レジストリ設定はすべてのセッションに適用され、初期値を設定する便利な方法です。各セッションは SET ステートメントを使用して、そのセッション固有の値を指定できます。この値はレジストリ設定より優先されます。
レジストリ設定は Pervasive PSQL Server がサポートされるすべてのサーバー プラットフォームに適用されます。レジストリ設定は手作業で変更する必要があります。Windows では、オペレーティング システムで提供されているレジストリ エディターを使用します。Linux では、psregedit ユーティリティを使用することができます。
レジストリ設定が指定されていない場合、データベース エンジンはデフォルトを自動的に 5 MB とします。
Windows のレジストリ設定でキャッシュ メモリ量を指定するには
メモ
ほとんどの Windows オペレーティング システムでは、"Pervasive Software" のキーの場所は
HKEY_LOCAL_MACHINE
¥
SOFTWARE
¥
PERVASIVE SOFTWARE
です。ただし、HKEY_LOCAL_MACHINE
¥
SOFTWARE
の下位以降の場所はオペレーティング システムによって異なる可能性があります。
Linux の Pervasive レジストリでキャッシュ メモリ量レジストリ設定を指定するには
ストアド プロシージャは、以下の条件に当てはまる場合、キャッシュ設定にかかわらず、キャッシュされません。
次の例は、最大 20 のストアド プロシージャを格納する 2 MB のキャッシュ メモリを設定します。
次の例は、最大 500 のストアド プロシージャを格納する 1,000 MB のキャッシュ メモリを設定します。
次の例は、ストアド プロシージャをキャッシュせず、既にキャッシュされているプロシージャを削除する指定をします。
次の例では、キャッシュ メモリを 80 MB に設定し、キャッシュされるプロシージャ数は設定しない指定をします。
データベース エンジンは暗黙的に CACHED_PROCEDURES にゼロを設定します。
|