Tipps & Tricks zu Abfragen

Auch zum Kapitel Abfragen noch ein paar allgemeine Tipps und Tricks zur Performancesteigerung - auch, wenn nicht alles, was hier erwähnt wird, im Tutorial vorkam.

Oft sind verschiedene Lösungen möglich, damit eine Abfrage das Gewünschte ausgibt. Unter bestimmten Umständen testet Access eigenständig, ob ein anderer Lösungsweg als der, den man gerade vorgegeben hat, schneller ist (in diesem Zusammenhang kann man über Begriffe wie „Rushmore“ oder „Showplan“ stoßen; darauf wird hier nicht näher eingegangen). Die wichtigste Voraussetzung für eine interne Optimierung ist, dass die Abfrage auch als Abfrage gespeichert ist. Enthält ein Formular als Datenquelle einfach SQL, oder „bastelt“ man SQL per VBA zur Laufzeit, kann Access nicht intern optimieren. Vor dem Speichern sollte man eine Abfrage außerdem mindestens einmal ausführen. Dabei findet dann die Optimierung statt, die dann unsichtbar, zusammen mit der Abfrage gespeichert wird.

In einer Abfrage sollten so wenige Beziehungen wie möglich vorkommen. Im Allgemeinen sollte nicht mehr als eine Beziehung zwischen zwei Tabellen vorhanden sein.

Für Kreuztabellenabfragen empfehlen sich fixierte Spaltenüberschriften, also die Begrenzung nur auf die benötigten Spalten.

Aktionsabfragen sollten unter VBA weder mit OpenQuery noch mit RunSQL ausgeführt werden, sondern mit CurrentDB.Execute.

Werden Abfragen ziemlich komplex, kann es helfen, die Abfrage zu splitten, also aus einer Abfrage mehrere zu machen. Häufig stellt sich dabei heraus, dass gleich mehrere Abfragen auf eine „Basisabfrage“ zugreifen können. Beim Splitten der Abfrage sollten folgende Überlegungen greifen: