2

実行中のプログラムがアクセスしているレコードの数を知りたいです。VST _TableStat を見つけましたが、プログラムごとにレコード数がグループ化されていません。

FOR  EACH _TableStat NO-LOCK
    WHERE _TableStat._TableStat-Create > 0
       OR _TableStat._TableStat-Delete > 0
       OR _TableStat._TableStat-Read   > 0
       OR _TableStat._TableStat-Update > 0,
    FIRST _File NO-LOCK
    WHERE _File._File-Number = _TableStat._TableStat-Id:

    DISPLAY
      /*_File._File-Name*/
        _TableStat-Create
        _TableStat._TableStat-Delete
        _TableStat._TableStat-Read  
        _TableStat._TableStat-Update
        WITH SIDE-LABELS 1 COLUMN 1 DOWN.
END.

このコードは、テーブルとアクセスされているレコードの数を示していますが、テーブルにアクセスしているプログラムを知りたいです。

これを知る方法はありますか?それとも、PID などを含む _TableStat のようなテーブルがありますか?

Ps .: Progress 10.2B を使用しています。

前もって感謝します, ルビーニョ・サントス

4

3 に答える 3

3

プログレスのバージョンは?

10.1C のどこかで _UserTableStat が導入されました。ユーザーごとのテーブル統計があります。

_connect VST には「client statement cache」フィールドもあります。セッションに対して適切なビットが有効になっている場合、スタック トレースが保存されるため、セッションが実行されている行と、そこに到達した方法を特定できます。

それらの間で、必要なものを取得できる場合があります。

ところで: ProTop はこのデータの多くを表示します -- http://dbappraise.com/protop.html

プログラム統計ごとにきめ細かいプログラムが必要な場合は、4gltrace や QryInfo などの「ログ エントリ タイプ」機能のいくつかを確認することもできます。

于 2013-03-28T19:34:57.540 に答える
1

私が期待していたように、テーブル _UserTableStat で動作します:

FOR EACH _UserTableStat NO-LOCK
   WHERE _UserTableStat._UserTableStat-Read   > 0
      OR _UserTableStat._UserTableStat-Create > 0
      OR _UserTableStat._UserTableStat-Update > 0
      OR _UserTableStat._UserTableStat-Delete > 0,
   FIRST _File NO-LOCK
   WHERE _File._File-Number = _UserTableStat._UserTableStat-Num,
   FIRST _Connect NO-LOCK
   WHERE _Connect._Connect-Id = _UserTableStat._UserTableStat-Conn:

    DISPLAY
        _Connect._Connect-IPAddress          
        _Connect._Connect-Name               
        _Connect._Connect-Pid                
        _File._File-Name                     
        _UserTableStat._UserTableStat-Read   
        _UserTableStat._UserTableStat-Create 
        _UserTableStat._UserTableStat-Update 
        _UserTableStat._UserTableStat-Delete 
    WITH SIDE-LABELS THREE-D 1 COLUMN 1 DOWN.

END.

助けてくれたTom Bascomに感謝します!

于 2013-04-02T19:18:13.483 に答える