Frage

Ich habe festgestellt, dass für Crystal -Berichte, die unsere Organisation und einige unserer Softwareanbieter unserer ERA erstellt haben, die Datensätze für die Datensätze ihrer Berichte verwenden, anstatt eine Ansicht oder ein gespeichertes Verfahren zum Sammeln der Daten zu verwenden. Gelegentlich habe ich gesehen, dass Berichte gespeicherte Voraussetzungen verwenden, die dann verwenden physisch Tabellen anstelle temporärer Tabellen zum Speichern und Manipulieren von Datensätzen. In diesen Fällen existiert die Berichtsausgabe häufig als Tabelle wie rpt_ap_vendors oder ähnlich, und es kann bei Nichtgebrauch keine Daten sein oder nicht.

Dies sind immer Fälle, in denen der Bericht auf Nachfrage generiert wird. Dies ist also kein Fall, in dem ein Bericht einmal generiert und mehrmals bedient werden kann. Es gibt nicht mehrere Berichte/gespeicherte Verfahren, die gleichzeitig auf diese Daten zugreifen.

Welchen Grund würde es für die Verwendung physischer Tabellen für solche Berichte geben? Gibt es einen logischen, technischen oder leistungsbezogenen Grund dafür? Bei der Erstellung von Berichten habe ich persönlich immer Ansichten und gespeicherte Verfahren mit temporären Tabellen oder besser abgeleiteten Tabellen verwendet, um zusätzliche Disc -Lesevorgänge zu vermeiden, bei denen eine temporäre Tabelle gelöscht/gelöscht wird.

War es hilfreich?

Lösung

(+) Gründe, eine physische Tabelle zu erstellen, um Berichtsdaten zu speichern:

  • Die Berichtsdaten sind wiederverwendbar. Ich zeige Crystal Reports oder SharePoint auf die Tabelle und mache mir dann keine Sorgen, wie oft oder wann diese Tools oder meine Endbenutzer auf die Daten zugreifen. (Nun, in gewissem Maße, da das wiederholte Lesen einer großen Berichtstabelle meinen Puffer -Cache abmüll wird.) Ich kann auch ein Gleitfenster alter Berichte für die unvermeidlichen Anfragen nach wie vor: "Können Sie den Bericht des letzten Jahres erneut generieren? Ich kann das CSV nicht finden, das ich damals extrahiert habe. "

    Dies ist wahrscheinlich der Hauptgrund, warum es auf Ihrer Website so eingerichtet ist. Kristallberichte sind möglicherweise nicht intelligent genug, um die Berichtsdaten zu speichern, da die Benutzer sie durchgehen oder die Einstellungen des Berichts ändern. Im schlimmsten Fall ist Cr Ihren Bericht mit jeder dieser Aktionen regeneriert-ein kostspieliger und zeitaufwändiger Betrieb. Mit dem physischen Tisch geht es nur so oft in den Tisch, wie er benötigt.

  • Das Festlegen von Berechtigungen im Bericht ist einfach. Sie möchten diesen Bericht sehen? Alles, was Sie brauchen, ist die Erlaubnis, die Ergebnisse zu lesen. Generieren sie nicht. Lassen Sie hier also einige Leserechte in dieser Tabelle in einem gesperrten Schema und Dateigruppen/Tablespace haben.

Durch manuelles Zwischenspeichern des Berichts kontrollieren und isolieren Sie den Prozess des Generierens. Sie geben Ihren Berichtslesern mehr Freiheit, sich als DBA zu sorgen, um sich weniger Sorgen zu machen.

(-) Was Sie mit einer physischen Berichtstabelle verlieren:

  • Flexibilität. Willst du den Bericht ändern? Argh, brauche einige DDL -Änderungen.
  • Lagerraum. Sie bestehen die Daten auf der Festplatte, also Duh.

Andere Tipps

Bei einem früheren Arbeitgeber würden einige der Berichte Stunden dauern, bis sie laufen. Die Monats- und Quarter-End-Berichte waren die schlechtesten (8 bzw. 20 Stunden). Durch die Berechnung der Ergebnisse und das Speichern in einer dauerhaften Tabelle konnte der Benutzer die Ergebnisse des Berichts bei Laune untersuchen, ohne die Zahlen im Fliegen neu zu berechnen. Der Prozess, der die Berichte berechnete, konnte neu gestartet werden, wenn sie unterbrochen wurden, und in diesem Teil von Südflorida gab es täglich mehrere zweitlange Stromausfälle. Während das Unternehmen einen Generator vor Ort für die schlechten Wettertage hatte, hatten nicht alle Mitarbeiter Höhen.

Einige der "Power Users" wollten in der Lage sein, auf die Daten zugreifen und die Zahlen in Excel zu knüpfen, sodass sie schreibgeschützte Zugriff auf die Berichtstabellen hatten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top