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) » SQL Anywhere 12 - Änderungen und Upgrades » Neue Funktionen in Version 11.0.0 » SQL Anywhere » Neue Funktionen in SQL Anywhere

 

Verschiedenes

Die folgende Liste enthält verschiedene Erweiterungen in SQL Anywhere Version 11.0.0.

  • Ungültige Ansichten ändern   Bislang konnte eine normale Ansicht mit dem Status INVALID (ungültig) nicht geändert werden und Sie mussten die Ansicht löschen und neu erstellen. Nun können Sie eine ungültige Ansicht ändern und damit automatisch die Definition ändern, sodass die Ansicht nicht mehr ungültig ist.

  • Neues Synonym für die LENGTH-Funktion   Sie können nun LEN als Synonym für LENGTH verwenden, wenn Sie die LENGTH-Funktion ausführen. Siehe LENGTH-Funktion [Zeichenfolge].

  • Unterstützung für Big-Endian und Little-Endian UTF-16-Kodierung   SQL Anywhere unterstützt nun sowohl Big-Endian als auch Little-Endian UTF-16-Kodierung auf allen Plattformen, und zwar unabhängig von der Endianness der Plattform. Sie können die UTF-16-Kodierung in den Anweisungen LOAD TABLE und INLOAD sowie mit der Funktion CSCONVERT verwenden. Es ist dagegen nicht möglich, die UTF-16-Kodierung als Kodierung für eine Verbindung oder Datenbank zu verwenden. Siehe LOAD TABLE-Anweisung und UNLOAD-Anweisung.

    Zur Nutzung dieser Funktion ist ein Datenbank-Upgrade erforderlich. Siehe SQL Anywhere-Server-Ugrades.

  • Verbesserte Index-Performance   Die Index-Performance wurde gesteigert, vor allem bei der Arbeit mit einem vollen Cache. Um die Vorteile durch die verbesserte Index-Performance zu nutzen, müssen Sie Ihre Indizes neu erstellen. Die einfachste Möglichkeit hierzu ist, die Datenbank neu zu erstellen. Nach der Neuerstellung ist die Datenbankdatei möglicherweise wesentlich kleiner. Dies ist normal und kein Grund zur Beunruhigung.

  • Einstellungen INLINE und PREFIX nun für komprimierte Spalten berücksichtigt   Bislang wurden die Einstellungen von INLINE und PREFIX für eine Spalte ignoriert und als 0 angenommen, wenn die Spalte komprimiert war. Nun werden die Einstellungen für Spalten auch dann berücksichtigt, wenn die Spalte komprimiert ist. Siehe Hinweise zu BLOBs und CREATE TABLE-Anweisung.

  • Hostvariablen nun in Batches erlaubt   Referenzen auf Hostvariablen sind nun - mit einigen Einschränkungen - in Batches zulässig. Siehe Batchanweisungen.

  • Erweiterungen des InList-Algorithmus   Bislang wurde der InList-Algorithmus vom Optimierer nur verwendet, wenn alle Elemente der IN-Liste entweder konstante Werte waren oder zum Zeitpunkt der Optimierung als konstante Werte ausgewertet werden konnten. Nun kann das IN-Listenprädikat Werte enthalten, die erst zum Zeitpunkt der Öffnung ausgewertet werden (CURRENT DATE, CURRENT TIMESTAMP oder nicht-deterministische System- und benutzerdefinierte Funktionen), ebenso wie Werte, die innerhalb einer Ausführung eines Abfrageblocks (äußere Referenzen) konstant sind.

  • Plan-Caching für einfache DML-Anweisungen   Das Plan-Caching wurde auf SELECT-Anweisungen erweitert, die für das Umgehen der Abfrage in Frage kommen (einfache Anweisungen). Siehe Plan-Caching.

  • Größe neuer Datenbanken verringert   Die folgenden Systemtabellenspalten sind nun komprimiert, um die Größe neuer (leerer) Datenbanken um etwa 200 kB zu verringern. Dies ist bei der Erstellung von Datenbanken für die Verwendung unter Windows Mobile nützlich.

    • ISYSEVENT.action
    • ISYSJARCOMPONENT.contents
    • ISYSPROCEDURE.proc_defn
    • ISYSSOURCE.source
    • ISYSTEXTCONFIG.char_stoplist
    • ISYSTEXTCONFIG.nchar_stoplist
    • ISYSTRIGGER.trigger_defn
    • ISYSVIEW.view_def

  • Erhöhte Standard- und Mindestgröße für Pakete   Die Standardpaketgröße wurde auf allen Betriebssystemen ausgenommen Windows Mobile auf 7300 Byte erhöht. Auf Windows Mobile beträgt die Standardgröße weiterhin 1460 Byte. Die Mindestpaketgröße wurde auf 500 Byte erhöht. Siehe Verbindungsparameter CommBufferSize (CBSIZE) und -p - dbeng12/dbsrv12-Serveroption.

  • Neue ODBC-Klassen für Ferndatenzugriff unterstützt   Unterstützung für folgende ODBC-Klassen wurde hinzugefügt:

    • msaccessodbc
    • mysqlodbc
    • ulodbc
    • adsodbc

    Siehe ODBC-basierte Serverklassen.

    Hinweis

    Während Sie bislang das Dienstprogramm SQL Anywhere für die Migration von MS Access (Upsize-Tool) verwendet haben, um Microsoft Access-Datenbanken nach SQL Anywhere zu migrieren, ist hierfür nun die Klasse msaccessodbc verfügbar.

  • Erweiterungen von Datenbankservernachrichten   Den Nachrichten vom Datenbankserver ist nun eine Kategorie und ein Schweregrad zugewiesen. Sie können auf diese Informationen mithilfe der Systemprozedur sa_server_messages zugreifen und die Anzahl der verwalteten Nachrichten mit der Eigenschaft MessageCategoryLimit konfigurieren. Siehe sa_server_messages-Systemprozedur.

  • Neuer VALIDATE_COMPLETE-Parameter für a_validate_type-Enumeration   Die a_validate_type-Enumeration hat den neuen Parameter VALIDATE_COMPLETE zur Durchführung aller möglicher Validierungen der Datenbank. Siehe a_validate_db-Struktur [Datenbanktools].

  • Erweiterung des externen Entladevorgangs   Wenn Sie einen externen Entladevorgang einer Datenbank ausführen, enthält der Anfang der generierten Datei reload.sql nun eine kommentierte CREATE DATABASE-Anweisung. Diese Anweisung kann verwendet werden, um eine Datenbank zu erstellen, die mit der entladenen Datenbank übereinstimmt.

    Wenn die entladene Datenbank mit Version 9 oder einer früheren Version von SQL Anywhere erstellt wurde und eine benutzerdefinierte Kollatierung verwendete, wird die COLLATION-Klausel wie folgt angezeigt:

    COLLATION collation-label DEFINITION collation-definition

    Dabei gilt: Kollatierungsdefinition ist eine Zeichenfolge, die die benutzerdefinierte Kollatierung angibt.

    Wenn die entladene Datenbank mit starker Verschlüsselung erstellt wurde, wird der Wert des KEY-Schlüssels in der CREATE DATABASE-Anweisung in Form von drei Fragezeichen angezeigt (???).

    Siehe Vergleich von externem Entladen und Neuladen.

  • Neue OIDs des SQL Anywhere-Erweiterungsagenten    Folgende OIDs wurden in dieser Version hinzugefügt:

    • saAgent.saRestart
    • saAgent.saInifile

    Siehe SQL Anywhere MIB-Referenzhandbuch.

  • Deadlock-Systemereignis   Das Deadlock-Systemereignis wird ausgelöst, wenn ein Deadlock auftritt. Der Event-Handler kann mit der Prozedur sa_report_deadlock Informationen über die Bedingungen erhalten, die zum Deadlock geführt haben. Zur Verwendung des Deadlock-Systemereignisses müssen Sie ein Upgrade der vorhandenen Datenbanken durchführen. Siehe Systemereignisse.

  • Höhere Datenbankbegrenzungen   Einige SQL Anywhere-Datenbankgrenzen wurden erhöht. Siehe SQL Anywhere-Einschränkungen von Größe und Anzahl.

  • Änderungen von Ausführungsplänen   Vom Optimierer generierte lange Pläne zeigen nun die folgenden Einträge an, die sich auf den Gesamtplan beziehen:

    • Beste Pläne mit Kosten   Anzahl unterschiedlicher bester Zugriffspläne, die vom Optimierer gefunden wurden.

    • Pläne mit Kosten   Zahl der verschiedenen vom Optimierer berücksichtigten Zugriffspläne.

    • Optimierungszeit   Die für die Optimierung der Abfrage aufgewendete Zeit.

    Siehe Komponenten von Ausführungsplänen.

    Grafische Pläne zeigen nun folgende Einträge an:

    • Beste Pläne mit Kosten   Dieser Eintrag befindet sich im Abschnitt Statistiken des Optimierers des Stammknotens. Er gibt die Anzahl der verschiedenen vom Optimierer gefundenen besten Zugriffspläne an.

    • Pläne mit Kosten   Dieser Eintrag befindet sich im Abschnitt Statistiken des Optimierers des Stammknotens. Er gibt die Anzahl der verschiedenen vom Optimierer berücksichtigten Zugriffspläne an.

    • Optimierungszeit   Dieser Eintrag befindet sich im Abschnitt Statistiken des Optimierers des Stammknotens. Er gibt an, wie viel Zeit für die Abfrage aufgewendet wurde.

    • FirstRowRunTime   Dieser Eintrag befindet sich im Abschnitt Knotenstatistiken. Er gibt an, wie viel Zeit zum Abruf der ersten Zeile aufgewendet wurde.

    • Berücksichtigte Joins   Dieser Eintrag befindet sich im Abschnitt Erweiterte Details jedes Join-Operators. Er listet alle Operatoren auf, die vom Optimierer während des Optimierungsprozesses für die Unterstruktur rechts vom Join-Operator berücksichtigt wurden.

    • Vorfilter-Prädikate   Dieser Eintrag befindet sich in einem neuen Scan-Knoten-Abschnitt im Fensterausschnitt Details. Er listet alle Prädikate auf, die ausgewertet werden, bevor der Scan gestartet wird.

    • Scan-Prädikate   Dieser Eintrag befindet sich in einem Scan-Knoten-Abschnitt im Fensterausschnitt Details. Er listet die Prädikate auf, die beim Abrufen von Spalten aus der Zeile ausgewertet werden. Wenn ein Scan-Prädikat eine Zeile ablehnt, werden keine weiteren Spalten gelesen. Scan-Prädikate sind einfache, einzelne Spaltenprädikate, z. B. T.x <= 3 oder T.x IS NULL.

    • Nachscan-Prädikate   Dieser Eintrag befindet sich in einem neuen Scan-Knoten-Abschnitt im Fensterausschnitt Details. Er listet die Prädikate auf, die unmittelbar nach dem Lesen einer Zeile der Tabellenseite ausgewertet werden. Nachscan-Prädikate können sich auf mehrere Spalten beziehen und Funktionen oder arithmetische Vorgänge verwenden.

    • Verbleibende Prädikate   Dieser Eintrag befindet sich in einem neuen Scan-Knoten-Abschnitt im Fensterausschnitt Details. Er listet Prädikate auf, die nach dem Abruf einer Gruppe von Zeilen in den Speicher ausgewertet werden. Verbleibende Prädikate können komplexe Vorgänge enthalten, z.B. Unterabfragen oder benutzerdefinierte Funktionen, und nicht als Scan-Prädikate oder Nachscan-Prädikate ausgewertet werden.

    • Berücksichtigte Indizes   Dieser Eintrag befindet sich im Fensterausschnitt Erweiterte Details. Dieser Eintrag listet alle Index- oder Tabellen-Scans auf, die vom Optimierer während des Optimierungsprozesses für die von diesem Scan-Operator referenzierte Tabelle berücksichtigt werden. Das Format der einzelnen Einträge in der Liste ist ähnlich dem der Details, die für einen im Zugriffsplan verwendeten Scan-Operator im Fensterausschnitt Details aufgelistet werden.

    • Primärschlüsseltabelle   Dieser Eintrag befindet sich im Abschnitt Index eines Indexscan-Operators. Er gibt den Namen der Primärschlüsseltabelle an.

    • Geschätzte Zeilen in Primärschlüsseltabelle    Dieser Eintrag befindet sich im Abschnitt Index eines Indexscan-Operators. Er gibt die Anzahl der Zeilen in der Primärschlüsseltabelle an.

    • Primärschlüsselspalte   Dieser Eintrag befindet sich im Abschnitt Index eines Indexscan-Operators. Er gibt die Namen der Primärschlüsselspalten an.

    • Sequenzielle Transitionen   Dieser Eintrag befindet sich im Abschnitt Index eines Indexscan-Operators. Er enthält die Statistiken für alle physischen Indizes und gibt an, wie stark geclustert der Index ist.

    • Zufällige Transitionen   Dieser Eintrag befindet sich im Abschnitt Index eines Indexscan-Operators. Er enthält die Statistiken für alle physischen Indizes und gibt an, wie stark geclustert der Index ist.

    • Schlüsselwerte   Dieser Eintrag befindet sich im Abschnitt Index eines Indexscan-Operators. Er gibt die Anzahl der eindeutigen Einträge im Index an.