Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Performance der Datenbank überwachen und steigern » Datenbankperformance steigern » Tipps zur Performance-Verbesserung

 

Mit Schlüsseln die Abfrageperformance steigern

Primärschlüssel und Fremdschlüssel werden vor allem für die Validierung benutzt, können jedoch auch die Performance der Datenbank verbessern.

Beispiel

Das folgende Beispiel veranschaulicht, wie Primärschlüssel dazu beitragen können, dass Abfragen schneller ausgeführt werden.

SELECT *
FROM Employees
WHERE EmployeeID = 390;

Die einfachste Ausführung dieser Abfrage besteht für den Datenbankserver darin, alle 75 Zeilen in der Tabelle "Employess" zu durchsuchen und die Employee-ID in jeder Zeile zu überprüfen, um festzustellen, ob sie 390 ist. Das braucht bei 75 Mitarbeitern nicht sehr lange, aber bei Tabellen mit Tausenden von Einträgen kann eine sequenzielle Suche sehr zeitaufwändig sein.

Die von jedem Primär- und Fremdschlüssel dargestellten Integritätsregeln zur referenziellen Integrität werden von SQL Anywhere mithilfe eines Indexes erzwungen, der implizit mit jeder Primär- bzw. Fremdschlüsseldeklaration erstellt wird. Die Spalte "EmployeeID" ist der Primärschlüssel für die Tabelle "Employees". Mit dem entsprechenden Primärschlüsselindex kann die Mitarbeiternummer 390 sehr rasch abgerufen werden. Die schnelle Suche braucht fast genauso viel Zeit, ganz gleich, ob die Tabelle "Employees" 100 oder 1000000 Zeilen umfasst.

Es werden automatisch separate Indizes für Primär- und Fremdschlüssel erstellt. Dadurch kann SQL Anywhere eine Vielzahl von Vorgängen effizienter ausführen.

Weitere Hinweise über die Funktionsweise von Primär- und Fremdschlüsseln finden Sie unter Beziehungen zwischen Tabellen.