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

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Tabellen, Ansichten und Indizes » Indizes

 

Fortgeschrittene Aufgaben: Logische und physische Indizes

SQL Anywhere verwendet physische und logische Indizes. Ein physischer Index ist die tatsächliche Indexstruktur, wie sie auf der Festplatte gespeichert ist. Ein logischer Index ist eine Referenz auf einen physischen Index. Wenn Sie einen Primärschlüssel, Sekundärschlüssel, Fremdschlüssel oder eine Eindeutigkeits-Integritätsregel erstellen, gewährleistet der Datenbankserver referenzielle Integrität, indem er einen logischen Index für die Integritätsregel erstellt. Dann prüft der Datenbankserver, ob bereits ein physischer Index vorhanden ist, der die Integritätsregel erfüllt. Falls bereits ein qualifizierter physischer Index vorhanden ist, verweist der Datenbankserver den logischen Index auf diesen physischen Index. Falls kein solcher Index vorhanden ist, erstellt der Datenbankserver einen neuen physischen Index und verweist den logischen Index auf den physischen Index.

Damit ein physischer Index die Anforderungen eines logischen Indexes erfüllt, müssen die Spalten, die Spaltenreihenfolge und die Sortierfolge (aufsteigend, absteigend) der Daten bei jeder Spalte identisch sein.

In den Systemtabellen ISYSIDX und ISYSPHYSIDX werden Informationen über alle logischen und physischen Indizes der Datenbank aufgezeichnet. Wenn Sie einen logischen Index erstellen, wird ein Eintrag in die Systemtabelle ISYSIDX eingefügt, der die Indexdefinition enthält. In der Spalte ISYSIDX.phys_id wird ein Verweis auf den physischen Index aufgezeichnet, der die Anforderungen des logischen Indexes erfüllt. Der physische Index wird in der Systemtabelle ISYSPHYSIDX definiert.

Durch die Verwendung logischer Indizes braucht der Datenbankserver keine doppelten physischen Indizes zu erstellen und zu verwalten, weil mehrere logische Indizes auf einen einzelnen physischen Index verweisen können.

Wenn Sie einen logischen Index löschen, wird seine Definition aus der Systemtabelle ISYSIDX entfernt. Falls es sich dabei um den einzigen logischen Index handelt, der auf einen bestimmten physischen Index verweist, werden auch der physische Index und seine zugehörigen Einträge in der Systemtabelle ISYSPHYSIDX gelöscht.

Für entfernte Tabellen werden keine physischen Indizes erstellt. Für temporäre Tabellen werden physische Indizes erstellt, jedoch werden sie nicht in ISYSPHYSIDX aufgezeichnet, und nach der Verwendung werden sie gelöscht. Weiterhin werden physische Indizes für temporäre Tabellen nicht gemeinsam genutzt.

 Siehe auch

Ermitteln, welche logischen Indizes einen physischen Index gemeinsam nutzen