システム テーブルのレポート
デフォルトでは、システムテーブルはレポートから除外されます。ただし、システムテーブルを禁止対象外にすることはできます。一部のシステムテーブルは、デフォルトで制限から除外されています。これらのシステムテーブルでレポートを作成するときは十分注意してください。
禁止されているシステムテーブルには、次のものが含まれますが、これらに限定されません。
- ログ [
syslog] - トランザクションログ [
syslog_transaction] - 添付ファイル [
sys_attachment] - メール [
sys_email]
システムテーブルについてレポートする必要がある場合は、それを glide.ui.permitted_tables システムプロパティに追加できます。デフォルトでは、いくつかのシステムテーブルがこのプロパティに一覧表示されます。アドミンユーザーのみが、このプロパティで許可されているテーブルに関するレポートを作成できます。
システムテーブルでレポートまたはデータの可視化を作成する場合は、十分に注意してください。レポートとデータの可視化でデフォルトで許可されている監査 [sys_audit] テーブルについて考えてみましょう。通常、このテーブルはどのインスタンスでも最大のテーブルです。中規模のインスタンスであっても、監査テーブルが数ギガバイトになることは珍しくありません。大規模な環境では、このテーブルが 50 GB 以上に及ぶこともあります。
プログラムで Audit などのテーブルにアクセスすると、クエリパターンがどのようになるかがわかるため、クエリに一致する適切なデータインデックスを追加できます。たとえば、インシデントの履歴などを表示するときに、データベースでインデックスを使用することで、そのクエリに必要な数十行を効率的に取り出すことができます。
ただし、レポートやデータの可視化では、クエリパターンがどのようになるかを予測することはできません。フィールド名でグループ化したり、古い値でソートしたりしたい場合があります。したがって、クエリーがインデックス付きクエリーでない可能性があります。データベースに数ギガバイトのファイルをテーブルスキャンするように指示することになりますが、これは次の理由で不十分です。
- 速度が遅いため、レポートやデータの可視化の実行に許容できないほどの時間がかかります。
- データベースがテーブルをスキャンしている間、他のクエリーが必要なリソースを取得できないため、インスタンスの速度が低下したり、インスタンスが使用できなくなることもあります。