その他: メモリーゲートウェイ

メモリーゲートウェイ(またはメモリーテーブル)は活用されていますか?
Magic.iniのゲートウェイ設定の一番下にあるものです。

データベース設定[MAGIC_GATEWAYS]
;MGCOMM01=mgwsock.dll
MGDB00=Gateways\mgpv2k.dll
;MGDB03=mdcisam.dll
;MGDB05=Gateways\mgcache.DLL
;MGDB06=Gateways\mgdb400.DLL
;MGDB13=Gateways\mgOra8.dll
;MGDB14=Gateways\mginf.dll
;MGDB16=Gateways\mgeac32.dll
;MGDB18=Gateways\mgdb2.DLL
;MGDB19=Gateways\mgodbc.dll
;MGDB20=Gateways\mgms7.dll
MGDB21=Gateways\mgmemory.dll ← これです。

ワークやソートファイルなど、一時的な用途で使う場合に便利です。
文字通りメモリ上にテーブルを作成し、ハードディスクアクセスが不要になるので高速処理も期待できます。
作成されるのは、サーバではなく、Magicが動作するクライアントのメモリです。
(メタフレームの場合は、メタサーバ上でMagicが動作しているのでメモリテーブルもメタサーバに作成されます。)
1台のマシンで、Magicを複数を起動している場合は、別々のメモリ領域に作成されます。
つまり、異なるMagic間でメモリテーブルを共有することはできませんが、逆に処理が重なってもデータが消える心配はありません。

レコード数が何十万件にもなるようなものでは使えませんが、千件くらいまでに収まるデータ量なら活用して良いと思います。

しかし、安心して使えるようになったのはMagic eDeveloperになってから(つまりV9以降)のようです。
V8までは、あまり安定度が良くなかったようで、Magic.iniの設定で使わないようにされていた例が多いらしいとか。
V9以降、全面的に作り直され安定度が向上したという話を聞きました。
そのため、V9以降の「ソート/一時用データベース」は、デフォルトが「Memory」になっているみたいです。動作設定


メモリーゲートウェイを使おうとして、使えなかったときは、こちらも参照してください。