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

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

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

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

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

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

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

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

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