Skip to main content

グローバルのサイズの決定

InterSystems IRIS® データ・プラットフォームには、グローバルのサイズの測定に使用できるツールが用意されています。

^%GSIZE ルーチン

^%GSIZE ルーチンを使用すると、1 つ以上のグローバルのサイズを決定できます。このルーチンを使用するには、以下を実行します。

  1. ObjectScript シェルを起動します。

  2. ルーチンを起動します。

     do ^%GSIZE
    
  3. 最初のプロンプトでは、参照するデータベースを指定できます。このプロンプトは、データベース・ファイルを含むディレクトリを参照します。

    Directory name: c:\intersystems\iris211\mgr\enslib\ =>
    

    既定は、現在使用しているネームスペースで使用されているグローバル・データベースです。Enter キーを押してこの既定をそのまま使用するか、完全なディレクトリ名を入力して Enter キーを押します。

  4. 次のプロンプトは、以下のとおりです。

    All Globals? No =>
    

    すべてのグローバルの情報が必要な場合は、「Y 」(大文字と小文字は区別されません) と入力します。それ以外の場合は、Enter キーを押します。

    Note:

    すべてのグローバルの情報を要求すると、ドキュメント化されていないすべての内部グローバルと、独自のグローバルが含められます。これらの中には、非常に大きなものもあります。

  5. 前の手順で「Y」と入力しなかった場合、次のプロンプトは、グローバル名を尋ねる以下のようなものになります。

    Global ^
    

    先頭のキャレットなしでグローバル名を入力して、Enter キーを押します。

    必要に応じて繰り返します。グローバル名の入力が終了したら、再び Enter キーを押します。ルーチンは、選択したグローバル数を示すメッセージを表示します。

    All Globals? No => No
    Global ^IRIS.Msg
    Global ^
    1 global selected from 64 available globals.
    
  6. 次のプロンプトは、生成するレポートの種類を尋ねます。

    1) Get exact packing details
    2) Get block counts only
    3) Use fast stochastic estimate
     
    Please select an option:  3 =>
    

    オプション 1 では、グローバル全体をスキャンして、すべての情報を取得します。大規模なグローバルの場合、これには時間がかかります。オプション 2 では、ブロック・カウントのみを取得します。オプション 3 (リリース 2023.3 の新機能) では、サイズを見積もります。これは、グローバル全体をスキャンするより高速です。

    「1」、「2」または「3」と入力します。

  7. 次の 2 つのプロンプトに対して Enter キーを押し、出力を書き込む場所を指定します。

    Device:
    

    および

    Right margine: 80 =>
    
  8. オプション 1 または 3 を使用した場合、以下のような出力が表示されます。

    Page: 1
            Global              Blocks          Bytes Used Packing
          ----------- ---------------- ------------------- -------
          IRIS.Msg                942           5,791,760     75 %
     
     
          TOTAL                 Blocks          Bytes Used Packing
          ----------- ---------------- ------------------- -------
                                  942           5,791,760     75 %
    

    オプション 2 を使用した場合、レポートにはブロック・カウントのみが表示されます。

グローバルのサイズを取得する API

いくつかのクラスは、グローバルのサイズを取得する API を提供しています。

  • %GlobalEditOpens in a new tab クラスは、以下のようなメソッドを提供します。

    • CheckIntegrity()

    • GetGlobalSize()

    • GetGlobalSizeBySubscript()

    • その他

  • %SYS.GlobalQueryOpens in a new tab クラスは、以下のクエリを提供します。

    • DirectoryList()

    • NameSpaceList()

    • NameSpaceListChui()

    • Size()

関連項目

FeedbackOpens in a new tab