Click here for the English article.
Hintergrund
Werden bestimmte Funktionen und Einstellungen im Designer für ein Layout genutzt, kann List & Label die Berichte nicht in einem einzigen Durchlauf erzeugen. In diesen Fällen wird ein Mehrpassverfahren verwendet. Dabei werden zunächst virtuelle, nicht ausgegebene Durchläufe (meist nur ein zusätzlicher Durchlauf) ausgeführt, bevor ein sichtbarer Ausgabedurchlauf erfolgt. Das kann zum Beispiel zu wiederholten Abfragen an die Datenquelle führen, z. B. SQL-Abfragen. Speziell bei komplexen Abfragen oder einer langsamen Netzwerkanbindung des Datenbankservers kann dies von Bedeutung für die Druckzeit sein. Folgend ein Überblick für mögliche Auslöser des Mehrpassverfahrens.
Projekt-Eigenschaft “Mehrpassverfahren: Anzahl der Durchläufe”
Die Projekteigenschaft Mehrpassverfahren: Anzahl der Durchläufe legt die Anzahl virtueller, nicht ausgegebener Durchläufe fest. Diese Durchläufe können zum Beispiel für Vorberechnungen erforderlich sein. Wenn mehrere Durchläufe verwendet werden, steht zusätzlich die Projekteigenschaft Mehrpassverfahren: Ausgabebedingung zur Verfügung.
Automatische Spaltenbreitenanpassung in Tabellen
Für Tabellenspalten kann die Spaltenbreite mit der Formel Null() automatisch an den Inhalt angepasst werden. Da die endgültige Breite vom tatsächlichen Inhalt abhängt, ist vor der sichtbaren Ausgabe eine Ermittlung für alle Datensätze der benötigten Breiten aller Spalten und deren Inhalte erforderlich.
Tabellen-Eigenschaft “Daten zusammenhalten”
Die Tabellen-Eigenschaft Daten zusammenhalten befindet sich im Bereich der Tabellen-/Datenzeilen-Eigenschaften. Da auch die Aufteilung der Tabellenausgabe über mehrere Seiten hinweg von der Datenmenge selbst abhängt, wird mindestens ein zusätzlicher Durchlauf benötigt.
Designerfunktion “Precalc()”
Die Designerfunktion Precalc() gehört zu den Aggregatfunktionen. Sie wird zum Beispiel verwendet, um Summen bereits im Tabellenkopf auszugeben. Auch hierfür ist eine Vorausberechnung notwendig und demnach ein vorheriger Durchlauf.
Auswirkungen auf die Druckzeit
Mehrpassverarbeitung bedeutet, dass Daten mehrfach verarbeitet werden. Dadurch entstehen zusätzliche Datenzugriffe. Die Auswirkung auf die Ausgabezeit hängt dabei von der Datenmenge, Datenquelle, Abfragekomplexität und Berichtslayout ab.
Wichtig: Die oben genannten Optionen können sich addieren und somit beispielsweise auch zu einer dreifachen Druckzeit oder mehr führen.
Zusammenfassung
Im Normalfall sind keine Maßnahmen notwendig, da die Performanceeinbußen zu vernachlässigen sind. Möchte man die Druckzeit jedoch optimieren, kann deren Deaktivierung die Druckzeit verringern und damit die Performance verbessern, sofern die entsprechenden Funktionen nicht zwingend benötigt werden. Die oben genannten Einstellungen können dabei über den Designer identifiziert und angepasst werden.
Weitere Optimierungsmöglichkeiten
Geschwindigkeitsoptimierung
Hinweise zur Verwendung in mehreren Threads (Multithreading)