![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
|
Themen-Optionen | Ansicht |
![]() |
#13 |
Inventar
![]() Registriert seit: 24.01.2001
Beiträge: 5.631
|
![]() Ein Index ist ein binärer Baum zum schnellen Auffinden von Datensätzen.
Ein Key ist ein Datenpfad, seine einzelnen Feldnamen aus den er sich zusammensetzt fungieren als Bildungsvorschrift für einen Index. Weiters wird der Key verwendet um an Informationen in einer bestimmten Sortierreihenfolge heranzukommen. Aus welchen Feldern sich so ein Index zusammensetzt, kann man festlegen. Wenn man eine bestimmte Sortierreihenfolge zustande bringen möchte, definiert man ein Gedankengebilde, den Key sozusagen. Physisch liegt dem ganzen eine Datenstruktur namens Baum zugrunde. Ein Index ist so ein Baum. Im Index sind die jeweiligen Werte der Keyfelder der Datenbanktabelle gespeichert zusammen mit einer Positionsangabe des dazugehörigen Datensatzes der Tabelle. Welcher Index verwendet wird und ob einer von den jeweils definierten Indices einer Tabelle verwendet werden kann entscheidet sich durch die ORDER BY Klausel. Fehlt diese Klausel dürfen die Daten irgendwie sortiert bzw. sogar unsortiert daherkommen, dann benötigt man den Index gerade noch für die WHERE Bedingung. Es wird dann logischerweise jener Index von der Datenbank verwendet, welcher die entsprechende erste Column der WHERE Bedingung als erste Column (erstes Keyfeld) definiert hat. Entsprechend ist die Auffindung des korrekten Indices auch bei der zweiten Column und weiterer. Hat man zwei Indices: 1. Nachname, Vorname sowie 2. Vorname, Nachname und steht ORDER BY Nachname,Vorname dann wird der Index 1 verwendet. Hat man lediglich einen und zwar folgenden Index auf die entsprechende Tabelle definiert: 1. Nachname dann entscheidet der Optimizer ob dieser - nicht eindeutige, sowie bezogen auf das Feld Vorname unsortierte - Index verwendet oder eine temporäre Sortierung nach der Rangfolge Gruppe=Nachname, Untergruppe1=Vorname durchgeführt wird. Index = Verweisdaten innerhalb der Datenbank Key = Datenpfad der Anwendung, eindeutige bzw. gruppierte Identifizierung eines Datensatzes bzw. von Datensätzen Bezogen auf den Datenbankindex ist der Indexkey die Bildungsvorschrift und gleichzeitig die Sortierreihenfolge innerhalb des Indexbaumes. mfg kikakater |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|