Im Folgenden finden Sie eine Liste der wichtigsten Funktionen, die in SQL Anywhere Version 16.0 eingeführt wurden.
Der Optimierer in SQL Anywhere wurde erweitert und berücksichtigt nun während der Abfrageoptimierung Zugriffspläne, die keine links-tiefen Bäume sind. Die Berücksichtigung zusätzlicher Zugriffspläne führt dazu, dass der Optimierer einen effizienteren besten Plan findet und dadurch die Laufzeit einiger Anweisungen in SQL Anywhere 16.0 erheblich verkürzt wird. Siehe Komponenten von Ausführungsplänen.
In SQL Anywhere wurde Unterstützung für die zusammengesetzten Datentypen ROW und ARRAY hinzugefügt. Diese Datentypen stellen eine effizientere Methode zum Speichern von Listen dar, weil sie die Möglichkeit bieten, Struktur und Datentyp ihrer Werte zu definieren. Außerdem erleichtern sie den Zugriff auf Listenelemente, entweder direkt mit doppelten eckigen Klammern oder als Ergebnismenge mit dem UNNEST-Operator. Ziehen Sie den ARRAY-Datentyp in Erwägung, wenn Sie Listen als begrenzte Zeichenfolgen in VARCHAR-Spalten speichern und bei der syntaktischen Analyse sa_split_list verwenden. ARRAY-Daten sind sehr hilfreich, wenn Sie verschiedene Objekte speichern möchten, die miteinander verknüpft sind. ROW-Daten sind hilfreich, wenn Sie mehrere Werte für ein Objekt speichern möchten.
Neue SQL-Funktionen wurden hinzugefügt, um zusammengesetzte Datentypen zu unterstützen. Dazu gehören ein ROW-Konstruktor und ein ARRAY-Konstruktor. Ein neuer Operator, UNNEST, wurde ebenfalls hinzugefügt
SQL-Funktionen und -Prozeduren akzeptieren ROW- und ARRAY-Daten als IN-, OUT- oder INOUT-Argumente. Zeilen und Arrays können als Rückgabetyp einer benutzerdefinierten SQL-Funktion verwendet werden.
ROW- und ARRAY-Daten können in folgenden Kontexten verwendet werden:
ROW, ARRAY, VARRAY und UNNEST sind nun reservierte Wörter.
Siehe:
SQL Anywhere umfasst nun einen OData Server, über den Webclients mit einem SQL Anywhere-Datenbankserver kommunizieren können. Webclients können OData-Anforderungen an einen konfigurierbaren OData Producer senden. Dieser wird auf einem HTTP-Server gehostet, der OData-Konzepte in relationale Datenbankvorgänge konvertiert. Die folgenden Funktionen wurden im Rahmen der OData-Unterstützung hinzugefügt oder geändert:
Siehe OData-Unterstützung.
Bei der Ereignisprotokollierung werden Informationen zu systemdefinierten und benutzerdefinierten Trace-Ereignissen in einem Ereignisprotokollierungsziel erfasst. Eine Trace-Sitzung besteht aus Trace-Ereignissen (bestimmten Punkten in der Datenbankserver-Software oder Ihrer SQL-Anwendung), deren Informationen gesammelt und in einem Ziel protokolliert werden. Ziele sind der Speicherort (z.B. eine Datei), an dem der Datenbankserver Trace-Ereignisse protokolliert.
Die Ereignisprotokollierung wird für Produktionsumgebungen empfohlen und bietet detaillierte Steuerungsmöglichkeiten hinsichtlich der protokollierten Informationen. Sie können benutzer- und systemdefinierte Trace-Ereignisse sowohl für den Datenbankserver als auch für Ihre Anwendung protokollieren und die Trace-Ereignisse so anpassen, dass sich Performanceprobleme ermitteln lassen.
Mit der gesicherten Funktion trace_system_event können Sie steuern, ob benutzerdefinierte Trace-Ereignisse erstellt werden können.
Siehe:
Interactive SQL unterstützt Verbindungen mit SAP HANA-Datenbanken Sie können Interactive SQL verwenden, um eine Verbindung mit einer SAP HANA-Datenbank herzustellen. Klicken Sie im Fenster Verbinden auf Datenbanktyp ändern und klicken Sie dann auf SAP HANA. Siehe Interactive SQL.
HANAODBC-Serverklasse für den Ferndatenzugriff Damit Sie SAP HANA als Backend-Server verwenden können, wurde die HANAODBC-Klasse in die Unterstützung für den Ferndatenzugriff einbezogen. Siehe Serverklassen für den Ferndatenzugriff.
Ereignisse können auf dem Spiegelserver oder auf einem Kopieknoten ausgeführt werden Ereignisse können nun in Spiegelungssystemen und in Scale-Out-Systemen mit Schreibschutz auf dem Spiegelserver und auf den Kopieknoten ausgeführt werden. Wenn Sie ein Ereignis erstellen möchten, das auf einem beliebigen Server ausgeführt werden kann, geben Sie die FOR ALL-Klausel mit der CREATE EVENT-Anweisung oder der ALTER EVENT-Anweisung an. Siehe CREATE EVENT-Anweisung und ALTER EVENT-Anweisung.
Neue MIRROR-Serverklasse für den Ferndatenzugriff Die MIRROR-Serverklasse stellt eine Verbindung mit einem entfernten SQL Anywhere-Server über ODBC her. Beim Erstellen des Fremdservers enthält jedoch die USING-Klausel einen Spiegelservernamen aus der SYS.SYSMIRRORSERVER-Katalogtabelle. Siehe MIRROR-Serverklasse.
Den Arbiterserver in eine laufende Spiegelungskonfiguration verschieben Siehe Praktische Einführung: Arbiterserver verschieben.
Den Spiegelserver in einen Kopieknoten konvertieren Siehe Praktische Einführung: Partnerserver in Kopieknoten konvertieren.
Partner von einem Server auf einen anderen Server verschieben Siehe Praktische Einführung: Partnerserver verschieben.
Server können Kopieknoten und Arbiterserver für dieselbe Datenbank sein Siehe Praktische Einführung: Server sowohl als Kopieknoten als auch als Arbiter verwenden.
Spiegelungsdatenbanken oder Scale-Out-Datenbanken mit Schreibschutz auf laufenden Servern dynamisch starten Verwenden Sie die START DATABASE-Anweisung mit der MIRROR ON-Klausel, um eine Spiegeldatenbank oder einen Kopieknoten auf einem laufenden Partner zu starten. Siehe START DATABASE-Anweisung.
SET MIRROR OPTION-Anweisung Die SET MIRROR OPTION-Anweisung verfügt über eine neue Option, promotion_time, mit der Sie angeben können, wie lang ein Kopieknoten nach dem Verlust einer Verbindung zum übergeordneten Knoten mit dem Stammdatenbankserver verbunden bleiben soll, bevor er sich selbst zum übergeordneten Knoten macht. Die max_disconnected_time-Option legt nun fest, wie viel Zeit seit der letzten Verbindung des Kopieknotens mit dem übergeordneten Knoten, dem alternativen übergeordneten Knoten oder der Stammdatenbank vergangen sein muss, bevor der Kopieknoten gestoppt wird. Siehe SET MIRROR OPTION-Anweisung.
Erweiterungen von Datenbankeigenschaften
CopyNodeParent Gibt den Namen des aktuellen übergeordneten Servers für einen Kopieknoten in einer Scale-Out-Konfiguration mit Schreibschutz zurück. Siehe CopyNodeParent-Datenbankeigenschaft.
PartnerState Wenn kein Partner definiert ist, gibt PartnerState den Wert NULL zurück. Bisher wurde der Wert "disconnected" zurückgegeben. Siehe PartnerState-Datenbankeigenschaft.
Neue Standardklausel WITH ROW LOGGING für LOAD TABLE Die WITH ROW LOGGING-Klausel bewirkt, dass jede geladene Zeile im Transaktionslog als INSERT-Anweisung erfasst wird. Diese Protokollierungsstufe wird für Datenbanken in einer Synchronisationsumgebung empfohlen und ist nun der Standardwert bei Verwendung des Ausdrucks "FROM Dateiname" oder "USING FILE Dateiname" in einer gespiegelten Datenbank. Wenn Sie jedoch große Datenmengen laden, kann dieser Protokollierungstyp die Performance beeinträchtigen und erzeugt ein wesentlich längeres Transaktionslog.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |