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

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む2読むのに数分
  • デフォルトでは、システム テーブルはレポート モジュールの制限を受けます。

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

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

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

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

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

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

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