In Oracle ist eine Space-Tabelle ein spezieller Tabellentyp, der zur Optimierung der Speicherung und des Abrufs großer Objekte (LOBs) verwendet wird. LOBs sind Sammlungen von Binärdaten, die die maximale Größenbeschränkung einer regulären Spalte in Oracle überschreiten, die 4 GB beträgt.
Space-Tabellen werden mithilfe des Speichertyps „lobspace“ implementiert, der LOB-Daten in kleinere Blöcke, sogenannte Extents, unterteilt. Jeder Extent wird in einer separaten Datei gespeichert und die Extents werden von Oracle transparent verwaltet. Dieses Design verbessert die Leistung für LOB-Vorgänge, insbesondere bei der Arbeit mit großen Mengen an LOB-Daten.
Standardmäßig erstellt Oracle einen Standard-Lobspace namens SYSTEM zum Speichern von LOBs. Sie können jedoch auch benutzerdefinierte Lobspace-Tabellen erstellen, um LOB-Daten besser zu organisieren und zu verwalten. Benutzerdefinierte Lobspace-Tabellen können mit verschiedenen Einstellungen erstellt werden, wie zum Beispiel:
* lob_storage: Gibt den Dateispeicherort zum Speichern der LOB-Extents an.
* lob_block_size: Definiert die Größe jedes Extents.
* chunk_size: Bestimmt die maximale Größe jedes LOB-Segments innerhalb eines Bereichs.
* pctfree: Konfiguriert den Prozentsatz des freien Speicherplatzes, der innerhalb jedes Extents beibehalten werden soll.
* pctused: Gibt den Prozentsatz des verwendeten Speicherplatzes an, bevor Oracle einen Bereich erweitert.
Bei Verwendung von Space-Tabellen werden LOBs als Zeiger auf die Extents in der zugehörigen Lobspace-Tabelle gespeichert. Diese Entkopplung der LOB-Daten von der Haupttabelle reduziert den Overhead und verbessert die Gesamtleistung von Abfragen und Aktualisierungen, die LOB-Spalten betreffen.
Space-Tabellen sind besonders nützlich in Anwendungen, die mit großen Mengen an BLOB-Daten wie Bildern, Videos, Audio und Dokumenten arbeiten. Durch die Nutzung von Space-Tabellen optimiert Oracle die Speicherung und den effizienten Zugriff auf LOB-Daten und verbessert so die Gesamtleistung und Skalierbarkeit der Anwendung.