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

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - Datenbankadministration » Datenbank starten und Verbindung mit ihr herstellen » Mit Datenbankdateien arbeiten » SQL Anywhere-Datenbank erstellen » Datentypen für Spalten wählen

 

BLOBs speichern

Ein BLOB ist eine nicht interpretierte Folge von Bytes oder Zeichen, die als Wert in einer Spalte gespeichert wird. Beispiele für BLOBs sind Bild- oder Audiodateien. Obwohl BLOBs normalerweise groß sind, können Sie sie in jedem Datentyp für Zeichenfolgen oder binäre Zeichenfolgen wie etwa CHAR, VARCHAR, NCHAR, BINARY, VARBINARY usw. speichern. Wählen Sie den Datentyp und die Länge abhängig vom Inhalt und der Länge der BLOBs, die Sie speichern wollen.

Hinweis

Ein großes Zeichenobjekt (Character Large Object) wird gemeinhin als CLOB bezeichnet, ein großes Binärobjekt (Binary Large Object) als BLOB und die Kombination beider als LOB. In dieser Dokumentation wird nur das Akronym BLOB verwendet.

Wenn Sie eine Spalte zum Speichern von BLOB-Werten erstellen, können Sie einzelne Aspekte der Speicherung steuern. Sie können beispielsweise festlegen, dass BLOBs bis zu einer bestimmten Größe in der Zeile (inline) gespeichert werden, während größere BLOBs außerhalb der Zeile auf Tabellenerweiterungsseiten gespeichert werden. Zusätzlich können Sie festlegen, dass für BLOBs, die außerhalb der Zeile gespeichert werden, die ersten n Byte des BLOBs, die auch als Präfix bezeichnet werden, in der Zeile dupliziert werden sollen. Diese Aspekte der Speicherung werden durch die Einstellungen INLINE und PREFIX gesteuert, die in den Anweisungen CREATE TABLE und ALTER TABLE festgelegt werden. Die Werte, die Sie für diese Einstellungen angeben, können unvorhersehbare Auswirkungen auf die Performance oder die Plattenspeicheranforderungen haben.

Wenn weder INLINE noch PREFIX angegeben sind, oder wenn INLINE USE DEFAULT oder PREFIX USE DEFAULT angegeben ist, werden Standardwerte wie folgt angewendet:

  • Bei Spalten vom Typ Zeichendaten wie CHAR, NCHAR, LONG VARCHAR und XML ist der Standardwert für INLINE 256 und der Standardwert für PREFIX 8.

  • Bei Spalten vom Typ Binärdaten wie BINARY, LONG BINARY, VARBINARY, BIT, VARBIT, LONG VARBIT, BIT VARYING und UUID ist der Standardwert für INLINE 256 und der Standardwert für PREFIX 0.

Es wird empfohlen, die Werte für INLINE und PREFIX nicht festzulegen, es sei denn, es gibt bestimmte Anforderungen, die durch die Standardwerte nicht erfüllt werden. Die Standardwerte wurden ausgewählt, um die Performance und den Festplattenspeicherbedarf möglichst gut aneinander anzupassen. Die Performance bei der Zeilenverarbeitung kann sich z.B. verschlechtern, wenn Sie INLINE auf einen großen Wert setzen und alle BLOBs in der Zeile gespeichert werden. Wenn Sie PREFIX zu hoch einstellen, erhöhen Sie den erforderlichen Speicherplatz zum Speichern von BLOBs, da die PREFIX-Daten einen BLOB-Abschnitt duplizieren.

Wenn Sie sich dazu entscheiden, Werte für INLINE oder PREFIX festzulegen, darf die INLINE-Länge die Länge der Spalte nicht überschreiten. Ebenso darf die PREFIX-Länge die INLINE-Länge nicht überschreiten.

Die Präfixdaten für eine komprimierte Spalte werden nicht komprimiert gespeichert, daher ist keine Dekomprimierung erforderlich, wenn alle Daten, die zur Erfüllung einer Anforderung erforderlich sind, im Präfix gespeichert sind.

Informationen über die Standardwerte für die INLINE- und PREFIX-Klauseln finden Sie unter CREATE TABLE-Anweisung.

 BLOBs gemeinsam nutzen