Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

14.2.3 Gespeicherte Abfragen versus Ad-hoc- Abfragen

14.2.4 Abfragen auf Performance trimmen

Das Design von Abfragen bietet jede Menge Fallstricke, wenn es um gute Performance geht. Die folgenden Abschnitte enthalten deshalb den nötigen »Feinschliff« für Ihre Abfragen.

Nur notwendige Felder anzeigen

Je mehr Felder eine Abfrage anzeigt, desto mehr leidet die Performance - das gilt vor allem für Abfragen mit dem Recordset-Typ Snapshot. Zeigen Sie daher nur die unbedingt notwendigen Felder an. Prüfen Sie vor allem genau, ob die Abfrage gegebenenfalls Kriterienfelder enthält, die nicht unbedingt angezeigt werden müssen. Diese lassen sich über das entsprechende Kontrollkästchen ausblenden.

Auch die Anzahl der Tabellen, aus denen Felder angezeigt werden müssen, spielt eine Rolle. Je mehr Tabellen eines oder mehrere Felder zum Abfrageergebnis beitragen, desto langsamer die Abfrage.

Kurze Feldbezeichnungen und Alias-Namen verwenden

Weitere Vorteile bei der Performance liefern kurze Namen von Tabellenfeldern sowie Alias-Namen für Tabellen, wie folgendes Beispiel zeigt:

SELECT t2.[Bestell-Nr], t2.[Artikel-Nr], t1.Artikelname,
t2.Einzelpreis, t2.Anzahl, t2.Rabatt,
CCur(t2.Einzelpreis*[Anzahl]*(1-[Rabatt])/100)*100 AS Endpreis
FROM Artikel AS t1
INNER JOIN Bestelldetails AS t2
ON t1.[Artikel-Nr] = t2.[Artikel-Nr]
ORDER BY t2.[Bestell-Nr];

statt

SELECT Bestelldetails.[Bestell-Nr], Bestelldetails.[Artikel-Nr],
Artikel.Artikelname, Bestelldetails.Einzelpreis,
Bestelldetails.Anzahl, Bestelldetails.Rabatt,
CCur(Bestelldetails.Einzelpreis*[Anzahl]*(1-[Rabatt])/100)*100 AS Endpreis
FROM Artikel
INNER JOIN Bestelldetails ON Artikel.[Artikel-Nr] =
Bestelldetails.[Artikel-Nr]
ORDER BY Bestelldetails.[Bestell-Nr];

Sternchen zählen

Soll eine Abfrage die Anzahl der gefundenen Datensätze zurückgeben, wenden Sie die Count-Funktion auf den Ausdruck * (Sternchen) an und nicht auf eines der Felder wie beispielsweise das Primärschlüsselfeld.

Keine Funktionen und berechneten Ausdrücke

Verwenden Sie in Abfragen nach Möglichkeit so wenig eingebaute oder benutzerdefinierte Funktionen oder berechnete Ausdrücke wie möglich. Dazu gehören Funktionen wie IIf oder DLookup und weitere Domänen-Funktionen. Die ACE kann solche Abfragen nicht optimieren, weil sich das Ergebnis einer Berechnung statistisch nicht vorhersagen lässt.

Kriterien für Schlüsselfelder variieren

Manchmal verwendet man Kriterien für ein Feld, über das eine Beziehung zu einer anderen Tabelle hergestellt wird. Das Primärschlüsselfeld der beteiligten Mastertabelle hat zwar den gleichen Wert wie das entsprechende Fremdschlüsselfeld der Detailtabelle. Es kann aber einen Unterschied in der Verarbeitungsgeschwindigkeit machen, auf welches der beiden Felder Sie ein Kriterium anwenden. Bei dieser Konstellation müssen Sie ausprobieren, wo das Kriterium für eine schnellere Abarbeitung sorgt.

Nächster Abschnitt:

14.3 Formulare

© 2006-2008 André Minhorst Alle Rechte vorbehalten.