リンク
インターシステムズ(日) └日本語ドキュメント インターシステムズ(US) (有)エムブイビイ ダイナシステム(株) Googleグループ(英語) Googleグループ(日本語) George James Software cache'infoアーカイブ 【広告】
|
一時グローバルtemporary global
一時的にグローバルにセットするときに普通のグローバルにセットしていませんか? ORACLEでの一時表と同様に、Cache'にも一時グローバルという仕組みがあります。 一時グローバルを使うと、データベース領域を無駄に使用しなかったりジャーナルに記録されなかったりするので、パフォーマンスが良くなるそうです。 一時グローバルにはCacheTempとプロセスプライベートグローバルという2種類のものがあります。 次のような違いがあるようです。
使い方特に意識することなく、普通のグローバルと同様にSet,Killできます。
処理中のプロセスだけが参照できればよい場合はプロセスプライベートグローバルを、そうでない場合はCacheTempを使用すれば良いと思います。 (注)
^CacheTempと同様な動作をするものとして^mtempなどもあります。
マニュアルではシステムもCacheTempを使用するので、衝突を防ぐため^CacheTempUserでグローバル名を始めることが勧められています。 既存プログラムで使用する既存プログラムで一時領域として^Workというグローバルを使っていたとします。
CacheTempを使ってパフォーマンス向上を行なおうとするなら、簡単に実現する方法があります。 それは、グローバルマッピングを使用する方法です。 ^WorkグローバルをCacheTempデータベースにマッピングすることで、^Workグローバルは^CacheTempと同じように動作します。 ^CacheTempと同じように動作するので、^Workの中身は再起動時に全て破棄されることに注意してください。
|