Über Systemtabellen berichten
Systemtabellen sind standardmäßig vom Reporting-Modul aus eingeschränkt.
Diese Tabellen umfassen, sind aber nicht beschränkt auf:
- Systemaudit [
sys_audit] - Protokoll [
syslog] - Transaktionsprotokoll [
syslog_transaction] - Anlage [
sys_attachment] - E-Mail [
sys_email]
Der Grund dafür ist, dass sys_audit im Normallfall die größte Tabelle in jeder Instanz ist. Es ist nicht ungewöhnlich, dass die Audit-Tabelle selbst in einer mittelgroßen Instanz mehrere Gigabyte groß ist. In einer großen Installation kann diese Tabelle 50 GB oder mehr sein.
Wenn wir programmgesteuert auf die sys_audit Tabelle zugreifen, wissen wir, wie das Abfragemuster aussehen wird. Daher haben wir entsprechende Datenindizes hinzugefügt, die unseren Abfragen entsprechen. Wenn Sie beispielsweise den Verlauf eines Incidents aufrufen, kann die Datenbank einen Index verwenden, um die wenigen Dutzend Zeilen, die für diese Abfrage benötigt werden, effizient zurückzuziehen.
Bei der Freiform-Berichterstellung können wir jedoch nicht vorhersagen, wie Ihr Abfragemuster aussehen wird. Vielleicht möchten Sie nach fieldname gruppieren oder nach oldvalue sortieren. Daher ist es möglich, dass Ihre Abfragen keine indizierten Abfragen sind. Das Endergebnis ist, dass Sie die Datenbank bitten werden, eine Datei mit mehreren Gigabyte zu scannen, was aus diesen Gründen schlecht ist:
- Es ist langsam, also wird der Bericht unannehmbar lange dauern.
- Während die Datenbank die Tabelle scannt, wird Ihre Instanz verlangsamt oder sogar nicht verfügbar, da andere Abfragen nicht die benötigten Ressourcen abrufen können.
Wenn Sie einen Bericht über eine Systemtabelle erstellen müssen, können Sie sie der Eigenschaft glide.ui.permitted_tables hinzufügen. Navigieren zu und suchen Sie die Eigenschaft mit der Bezeichnung Liste der Systemtabellen (beginnend mit „sys_“, durch Kommas getrennt), die meldepflichtig sind. Systemtabellen sind standardmäßig nicht meldepflichtig. Mit Vorsicht fortfahren.