システム テーブルのレポート
デフォルトでは、システム テーブルはレポート モジュールの制限を受けます。
これらのテーブルには次のものが含まれますが、これらに限定されません。
- システム監査 [
sys_audit] - ログ [
syslog] - トランザクション ログ [
syslog_transaction] - 添付ファイル [
sys_attachment] - メール [
sys_email]
これは 、通常sys_audit どのインスタンスでも最大のテーブルであるためです。中規模のインスタンスでも監査テーブルが数ギガバイトになることは珍しいことではありません。大規模な環境では、このテーブルが 50 GB 以上に及ぶこともあります。
プログラムから sys_audit テーブルにアクセスすると、クエリパターンがどのようになるかがわかるため、クエリに合わせて適切なデータインデックスを追加しました。たとえば、インシデントの履歴などを表示するときに、データベースでインデックスを使用することで、そのクエリに必要な数十行を効率的に取り出すことができます。
ただし、自由形式のレポートでは、クエリ パターンがどのようになるかを予測することはできません。フィールド名でグループ化したり、古い値で並べ替えたりしたい場合があります。したがって、クエリーがインデックス付きのクエリになることはありません。実質的な結果として、複数のギガバイトのファイルをスキャンするようデータベースに要求することになりますが、こうした操作は次の理由から適切ではありません。
- 処理が遅いため、レポートの実行に容認できないほどの長い時間がかかります。
- データベースがテーブルをスキャンしている間、他のクエリーが必要なリソースを取得できないため、インスタンスの速度が低下したり、インスタンスが使用できなくなることもあります。
システム テーブルのレポートを作成する必要がある場合は、 glide.ui.permitted_tables プロパティに追加できます。移動先 をクリックし、 List of system tables (beginning with "sys_, comma separated), that are reportable) というラベルの付いたプロパティを見つけます。デフォルトでは、システム テーブルはレポート不可能です。」というラベルのプロパティーを探します。操作の際は十分注意してください。