レポート用のデータベースビューの操作
データベースビューでは、レポートの目的でテーブルの結合を定義します。
たとえば、データベースビューはインシデントテーブルをメトリクスの定義テーブルやメトリクスインスタンステーブルに結合できます。このビューはインシデントメトリクスのレポートに使用でき、これら 3 つのテーブルのいずれかのフィールドを含めることができます。
いくつかの便利なデータベースビューが、データベースビュープラグインおよびサービス管理用のデータベースビュープラグインとともにインストールされます。これらのデータベースビューは、ほとんどのメトリクスレポートのニーズに対応し、新しいビューを定義する必要性を大幅に低減します。
- データベースビュー自体に ACL が存在する場合、それらの ACL が評価され、優先されます。
- データベースビュー ACL が存在しない場合、システムは基礎となるテーブルの ACL を優先します。
- ビューに含まれるテーブルの数とそれらのテーブルに含まれるレコードの数が増えると、パフォーマンスへの累積的な影響が大きくなります。データベースビューのパフォーマンスを最大化するには、データベースビューで定義されている「where」節がインデックス付きフィールドに基づいていることを確認してください。
- データベースビューはカスタムテーブルのように扱われないため、ライセンスの影響はありません。
- データベースビューテーブルは FTP エクスポートには含まれません。
- データベースビューは、データベースビューに含まれるテーブルの親テーブルの ACL を評価します。
制限事項
- テーブルローテーションに参加するテーブルにデータベースビューを作成することはできません。
- データベースビュー出力のデータを編集することはできません。
- データベースビューテーブルをクローン要求のデータリザーバーとして追加することはできません。
- [テーブル名] フィールドでは、別のアプリケーションスコープからテーブルまたはデータベースビューを参照できます。ただし、このフィールドが sys_metadata を拡張したテーブルに属している場合、テーブルまたはデータベースビューはそのテーブルと同じアプリケーションスコープに属している必要があります。
ACL とデータベースビュー
ビュー内のフィールドに ACL を作成する必要はありません。フィールドレベルの ACL が存在する場合、システムによって評価されます。
読み取り ACL をデータベースビューに追加するように要求するには、 glide.security.expander.view.legacy プロパティを true に設定します。アップグレードされたインスタンスで、このシステムプロパティを追加して true に設定します。
glide.security.expander.view.legacy が true の場合、基礎となるテーブル ACL は無視されます。プロパティが false (デフォルト) の場合、データベースビュー ACL がない場合は、基礎となるテーブル ACL が使用されます。
データベースビューで追加の ACL を作成することもできます。これらの ACL は最後に評価され、常に優先されます。
データベースビューの予約語
これらの用語を使用すると、意図しないパフォーマンスや望ましくないパフォーマンスが発生する可能性があります。詳細については、MySQL の予約語に関するドキュメントを参照してください。