システム テーブルのレポート

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:2分
  • デフォルトでは、システム テーブルはレポート モジュールの制限を受けます。

    これらのテーブルには次のものが含まれますが、これらに限定されません。

    • システム監査 [sys_audit]
    • ログ [syslog]
    • トランザクションログ [syslog_transaction]
    • 添付ファイル [sys_attachment]
    • メール [sys_email]

    この理由は 、通常sys_audit どのインスタンスでも最大のテーブルであるためです。中規模のインスタンスでも監査テーブルが数ギガバイトになることは珍しいことではありません。大規模な環境では、このテーブルが 50 GB 以上に及ぶこともあります。

    sys_auditテーブルにプログラムでアクセスすると、クエリパターンがどのようになるかがわかるため、クエリに一致する適切なデータインデックスを追加しました。たとえば、インシデントの履歴などを表示するときに、データベースでインデックスを使用することで、そのクエリに必要な数十行を効率的に取り出すことができます。

    ただし、自由形式のレポートでは、クエリ パターンがどのようになるかを予測することはできません。フィールド名でグループ化したり、oldvalue でソートしたりしたい場合があります。したがって、クエリーがインデックス付きのクエリになることはありません。実質的な結果として、複数のギガバイトのファイルをスキャンするようデータベースに要求することになりますが、こうした操作は次の理由から適切ではありません。

    • 処理が遅いため、レポートの実行に容認できないほどの長い時間がかかります。
    • データベースがテーブルをスキャンしている間、他のクエリーが必要なリソースを取得できないため、インスタンスの速度が低下したり、インスタンスが使用できなくなることもあります。

    システムテーブルのレポートを作成する必要がある場合は、 glide.ui.permitted_tables プロパティに追加できます。次のように移動する。 システムプロパティ > UI Properties (UI プロパティ) をクリックし、レポート可能な List of system tables (beginning with "sys_" comma separated) (レポート可能なシステムテーブルのリスト) を見つけます。デフォルトでは、システム テーブルはレポート不可能です。」というラベルのプロパティーを探します。この操作を行う際は十分に注意してください。