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) » UltraLite - Datenbankverwaltung » UltraLite-Datenbanken verwenden » UltraLite-Performance und -Optimierung

 

Index-Scans verwenden

Ein Index ist eine Gruppe von Zeigern auf Zeilen in einer Tabelle, basierend auf der Reihenfolge der Werte von Daten in einer oder mehreren Tabellenspalten. Ein Index ist ein Datenbankobjekt. Der Index wird von UltraLite nach seiner Erstellung automatisch verwaltet. Sie können einen oder mehrere Indizes erstellen, um die Performance Ihrer Abfragen zu verbessern oder um abhängig vom Typ des erstellten Indexes sicherzustellen, dass Zeilenwerte eindeutig bleiben.

Ein Index liefert eine Sortierfolge der Zeilen einer Tabelle anhand der Werte in einigen oder allen Spalten. Beim Erstellen von Indizes bestimmt die Reihenfolge, in der Sie die zu indizierenden Spalten auswählen, auch die Reihenfolge, in der die Spalten im Index erscheinen. Aus diesem Grund können Indizes bei einer strategisch geeigneten Verwendung die Performance von Suchvorgängen in Spalten mit Index deutlich verbessern.

UltraLite unterstützt folgende Indizes. Die Indizes können eine oder mehrere Spalten (so genannte zusammengesetzte Indizes) umfassen. Es ist nicht möglich, LONG VARCHAR- oder LONG BINARY-Spalten zu indizieren.

Index Merkmale
Primärschlüssel Erforderlich. Eine Instanz eines eindeutigen Schlüssels. Es kann nur einen Primärschlüssel geben. Werte in den indizierten Spalten müssen eindeutig sein und dürfen nicht NULL sein.
Fremdschlüssel1 Optional. Werte in den indizierten Spalten können dupliziert werden. Die Nullwertfähigkeit hängt davon ab, ob bei der Spaltenerstellung NULL als Wert zugelassen wurde. Werte in den Fremdschlüsselspalten müssen in der referenzierten Tabelle vorhanden sein.
Eindeutiger Schlüssel2 Optional. Werte in den indizierten Spalten müssen eindeutig sein und dürfen nicht NULL sein.
Nicht eindeutiger Index Optional. Werte in den indizierten Spalten können dupliziert werden und NULL sein.
Eindeutiger Index Optional. Werte in den indizierten Spalten dürfen nicht dupliziert werden und können NULL sein.

1 Ein Fremdschlüssel kann einen Primärschlüssel oder einen eindeutigen Schlüssel referenzieren.

2 Auch bekannt als Eindeutigkeits-Integritätsregel.

Performancetipps
  • Erstellen Sie einen Index für Spalten, für die Folgendes zutrifft:

    • Sie enthalten Werte, nach denen häufig gesucht wird.
    • Sie werden von der Abfrage verwendet, um Tabellen zu verknüpfen.
    • Sie werden häufig in ORDER BY-, GROUP BY- oder WHERE-Klauseln verwendet.
  • Beim Erstellen eines zusammengesetzten Indexes muss die erste Spalte des Indexes die Spalte sein, die am häufigsten vom Prädikat der Abfrage verwendet wird.

  • Stellen Sie sicher, dass der Overhead der Aktualisierungsverwaltung für einen Index nicht zu hoch für den Speicher des Geräts ist.

  • Erstellen und verwalten Sie keine überflüssigen Indizes. Indizes müssen aktualisiert werden, wenn die Daten in einer Spalte geändert werden, sodass alle Einfügungs-, Aktualisierungs- und Löschvorgänge auch für die Indizes ausgeführt werden.

  • Erstellen Sie einen Index für große Tabellen.

  • Erstellen Sie keine redundanten Indizes. Wenn Sie z.B. einen Index für Tabelle T mit den Spalten (x,y) erstellen, können Sie eine Redundanz schaffen, wenn es bereits einen anderen Index für T mit den Spalten (x, y, z) gibt.

Siehe auch