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 11 - Änderungen und Upgrades » Neue Funktionen in Version 8.0.0 » Neue Funktionen in Version 8 » Neue Funktionen von Adaptive Server Anywhere

 

Abfrageverarbeitung und Datenbankperformance

  • Verbesserte Abfrageverarbeitung   Diese Version enthält Erweiterungen zur Abfrageverarbeitungs-Engine und zum Optimierer, die zu einer erheblichen Verbesserung der Performance führen, und zwar vor allem bei komplexen Abfragen. Zu den Erweiterungen der Abfrageverarbeitung von Adaptive Server Anywhere gehören:

    • Bessere interne Verarbeitung von Joins

    • Verbesserungen des Kostenmodells des Optimierers, mit dem alternative Zugriffspläne beurteilt werden

    • Verbesserungen des Ausführungsmodells

      Die meisten Änderungen dieser Art sind intern. Eine Dokumentation wird unter Abfragen optimieren und ausführen bereitgestellt.

    Als Folge dieser Änderungen trifft es nicht mehr zu, dass die Materialisierung von Ergebnissen in jedem Fall ineffizient ist. Die Verwendung von temporären Arbeitstabellen kann eine äußerst effiziente Möglichkeit für die Ausführung von Abfragen sein. Weitere Hinweise finden Sie unter Arbeitstabellen in der Abfrageverarbeitung verwenden ("Alle Zeilen" als Optimierungsziel verwenden).

    Der Optimierer führt die kostenbasierte Auswahl der Indizes aus und verlässt sich nicht nur auf die Prädikatauswahl, wie es in früheren Versionen der Fall war.

    Für einen großen Teil der verbesserten Abfrageausführung ist es nicht erforderlich, ein Upgrade der Datenbank vorzunehmen. Um das neue Kostenmodell für Datenbanken zu verwenden, die mit einer älteren Version erstellt wurden, müssen Sie das Datenbankdateiformat auf die neue Version umstellen, indem Sie die Datenbank entladen und neu laden.

  • Neuer Indextyp   Es wurde ein neuer Indextyp hinzugefügt, der die Performance von Indizes für mehrere Spalten und für Indizes, die breite Spalten einbeziehen, verbessert. Es handelt sich um einen komprimierten B-Tree-Index.

    Adaptive Server Anywhere erstellt automatisch und basierend auf der Indexbreite (der Summe der Breite aller Spalten im Index) den geeigneten Indextyp. Ein komprimierter B-Tree-Index wird erstellt, wenn die Breite des Indexes mehr als neun Byte und weniger als ein Achtel der Seitengröße bis zu einem Maximum von 256 Byte beträgt. Anderenfalls erstellt Adaptive Server Anywhere Hash-B-Tree-Indizes.

    Die Klausel WITH HASH SIZE der Anweisung CREATE INDEX hat nunmehr keine Auswirkungen.

    Um die neuen Indextypen für Datenbanken zu verwenden, die mit einer älteren Version erstellt wurden, müssen Sie das Datenbankdateiformat auf die neue Version umstellen, indem Sie die Datenbank entladen und neu laden.

    Eine neue Einschränkung wurde eingeführt: Fremdschlüsselindizes müssen dieselbe Größe und denselben Typ wie der entsprechende Primärschlüsselindex haben.

    dbunload enthält nun keine Angabe der Hash-Größe mehr, wenn dafür ursprünglich der Standardwert (WITH HASH SIZE 10) festgelegt wurde.

  • Neue Datenbankoption optimization_goal   Legt fest, ob die Abfrageverarbeitung dahingehend optimiert wird, die erste Zeile schnell zurückzugeben, oder ob die Kosten für die Ausgabe der vollständigen Ergebnismenge minimiert werden sollen. In der Standardeinstellung wird die Rückgabe der ersten Zeilen optimiert.

    Weitere Hinweise finden Sie unter optimization_goal-Option [Datenbank].

  • Performancesteigerungen für Table Scans   Datenbanken, die in Adaptive Server Anywhere 8.0 mit 2-KByte-, 4-KByte- oder 8-KByte-Seiten erstellt wurden, bieten Performancesteigerungen für Abfragen, die sequenzielle Table Scans erfordern. Adaptive Server Anywhere erstellt für große Tabellen Bitmuster, die auch als Seitenmuster (Page Maps) bekannt sind. Ein Bitmuster listet alle Seiten auf, die Daten für eine bestimmte Tabelle enthalten. Diese Funktion gestattet das Durchsuchen großer Tabellen in einem einzigen I/O-Vorgang.

    Weitere Hinweise finden Sie unter Tabellen- und Seitengrößen.

    Um die Vorteile dieser Erweiterung für Datenbanken zu nutzen, die mit älteren Versionen erstellt wurden, müssen Sie das Datenbankdateiformat auf die neue Version umstellen, indem Sie die Datenbank entladen und neu laden.

  • Verbesserte Speicherung des Checkpoint-Logs   Das Checkpoint-Log wird nun am Ende der Datenbankdatei in aufeinanderfolgenden Seiten gespeichert. Dies führt zu einer verbesserten Performance, da sequenzielle Scans möglich sind und das Material im Checkpoint-Log auf mehreren Seiten gleichzeitig geschrieben werden kann.

    Weitere Hinweise zu Checkpoints finden Sie unter Hinweise zum Checkpoint-Log.

    Um die Vorteile dieser Erweiterung für Datenbanken zu nutzen, die mit älteren Versionen erstellt wurden, müssen Sie das Datenbankdateiformat auf die neue Version umstellen, indem Sie die Datenbank entladen und neu laden.

  • Planzwischenspeicherung   Adaptive Server Anywhere führt nun eine Zwischenspeicherung der Ausführungspläne für Abfragen und INSERT-, UPDATE- und DELETE-Anweisungen durch, die innerhalb von gespeicherten Prozeduren, benutzerdefinierten Funktionen und Triggern ausgeführt werden. Die maximale Anzahl der im Cache abgelegten Pläne wird mit der Optionseinstellung max_plans_cached festgelegt. Um die Planzwischenspeicherung zu deaktivieren, setzen Sie diese Option auf 0.

    Weitere Hinweise finden Sie unter Planzwischenspeicherung.

  • Standard-I/O-Kostenmodell außer Kraft setzen   Sie können nun das Standard-I/O-Kostenmodell mithilfe der Anweisung ALTER DATABASE mit der Klausel CALIBRATE aufheben.

    Weitere Hinweise finden Sie unter ALTER DATABASE-Anweisung.

  • Neue Datenbankoption max_plans_cached   Legt die maximale Anzahl an Ausführungsplänen fest, die im Cache gespeichert werden können.

    Weitere Hinweise finden Sie unter max_plans_cached-Option [Datenbank].

  • Neue Datenbankoption min_table_size_for_histogram   Diese Option legt die Mindestgröße für Tabellen fest, für die Histogramme erstellt werden. Histogramme speichern Informationen über die Verteilung von Werten in einer Spalte und der Optimierer verwendet diese, um einen effizienten Ausführungsplan auszuwählen.