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

SQL Anywhere 12.0.1 (Deutsch) » UltraLite - Datenbankverwaltung » UltraLite-Datenbankschemas » UltraLite-Indizes

 

Wann sollte ein Index erstellt werden

Verwenden Sie in folgenden Fällen einen Index:

  • Die referenzielle Integrität von UltraLite soll bewahrt werden   Ein Index bietet UltraLite darüber hinaus eine Möglichkeit, eine Eindeutigkeits-Integritätsregel auf die Zeilen der Tabelle zu erzwingen. Es ist nicht erforderlich, für Daten, die sehr ähnlich sind, einen Index hinzuzufügen.

  • Die Performance einer bestimmten Abfrage ist wichtig für Ihre Anwendung   Wenn ein Index die Performance einer Abfrage verbessert, die Performance dieser Abfrage wichtig für die Anwendung ist und die Abfrage häufig verwendet wird, sollten Sie diesen Index verwalten. Außer wenn die betreffende Tabelle sehr klein ist, können Indizes die Performance bei Suchen erheblich verbessern. Indizes werden daher gewöhnlich empfohlen, wenn Daten häufig gesucht werden.

  • Sie haben komplexe Abfragen   Komplexere Abfragen (z.B. mit JOIN-, GROUP BY- und ORDER BY-Klauseln) können erhebliche Verbesserungen erzielen, wenn ein Index verwendet wird, wenngleich es schwieriger sein kann, den Grad der Performance-Verbesserung zu ermitteln. Testen Sie daher Ihre Abfragen sowohl mit als auch ohne Indizes, um festzustellen, welche Version eine bessere Performance erzielt.

  • Eine UltraLite-Tabelle ist sehr groß   Die durchschnittliche Dauer zum Auffinden einer Zeile nimmt mit der Größe der Tabelle zu. Um die Suchvorgänge in sehr großen Tabellen zu beschleunigen, sollten Sie daher einen Index verwenden. Ein Index gestattet es UltraLite, Zeilen schnell zu finden. Dies gilt jedoch nur für indizierte Spalten. Andernfalls muss UltraLite jede Zeile in der Tabelle durchsuchen, um festzustellen, ob die Zeile die Suchbedingung erfüllt. Dieser Vorgang kann in einer großen Tabelle sehr zeitaufwändig sein.

  • Die UltraLite-Clientanwendung führt nicht viele Insert-, Update- oder Delete-Vorgänge aus   Da UltraLite Indizes zusammen mit den Daten verwaltet, hat ein Index in diesem Kontext eine gegenteilige Wirkung auf die Performance von Datenbankvorgängen. Aus diesem Grund sollten Sie die Verwendung von Indizes auf Daten begrenzen, die regelmäßig abgefragt werden, wie oben beschrieben. Die Verwaltung von UltraLite-Standardindizes (Indizes für Primärschlüssel und für Eindeutigkeits-Integritätsregeln) kann ausreichend sein.

  • Indizes für Spalten verwenden, die in WHERE- bzw. ORDER BY-Klauseln verwendet werden   Diese Indizes können die Auswertung dieser Spalten beschleunigen. Ein Index trägt dazu bei, eine mehrspaltige ORDER BY-Klausel zu optimieren, jedoch nur wenn die Positionierung von Spalten im Index und in den ORDER BY-Klauseln genau übereinstimmen.