Geschwindigkeitsoptimierung SQL...Report

3. Januar 2008 12:16

Hallo,

wir haben einen SQL-Server als Datenbank.

und haben einen Bericht, der greift allerdings von "aussen" auf die Datenbank zu und nicht von Navision aus.
Dieser Bericht wird immer auf das Buchungsdatum in der Tabelle
Geb. Verkaufsrechnungskopf gefiltert.

Nun gibt es bei uns in Navision in dieser Tabelle keinen Key "Buchungsdatum". Das ist normalerweise ja auch nicht nötig.
Würde dieser Bericht schneller laufen wenn wir in Navision den
Key "Buchungsdatum" eingeben würden?

Oder sucht sich der SQL-Server seine Keys von selber und sind die dann schon optimal?

3. Januar 2008 15:19

Ja, wenn das Häkchen bei MaintainSQLIndex gesetzt bleibt, hilft ein Anlegen eines Keys auf "Posting Date" sicher weiter, Du könntest da aber auch direkt auf dem SQL-Server einen Index für das Feld "Posting Date" anlegen.

Der SQL-Server verwendet den Index dann selbständig, wenn er bei der Abfrage Sinn macht.

10. Januar 2008 11:32

Was auch noch eine Möglichkeit wäre, Du legst eine Sicht direkt am SQL Server an, welche eben die relevanten Report Daten vorhält. Diese Sicht bindest Du als Tabelle in Navision ein.
Auf die Tabelle passt Du Deinen Report an und wirst sehen das das schneller geht.

10. Januar 2008 11:45

Bericht, der greift allerdings von "aussen" auf die Datenbank zu und nicht von Navision aus.


Falls es die SQL Reporting Services sind, kann der Bericht über den ReportServer schon aufbereitet abgespeichert im Cache werden.