Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Die In-Memory-OLTP-Engine ist in SQL Server integriert, was es Ihnen ermöglicht, sowohl speicheroptimierte als auch (traditionelle) datenträgerbasierte Tabellen in der gleichen Datenbank zu haben. Jedoch unterscheidet sich die Speicherstruktur für speicheroptimierte Tabellen von der für datenträgerbasierte Tabellen.
Speicher für datenträgerbasierte Tabelle weisen die folgenden Schlüsselattribute auf:
Einer Dateigruppe zugeordnet, und die Dateigruppe enthält eine oder mehrere Dateien.
Jede Datei ist in Bereiche von acht Seiten unterteilt, und jede Seite ist 8 KB (8.192 Byte) groß.
Ein Umfang kann für mehrere Tabellen freigegeben werden, aber es gibt eine 1:1-Zuordnung zwischen einer zugeordneten Seite und der Tabelle oder dem Index. Das bedeutet, dass eine Tabelle keine Zeilen von zwei oder mehr Tabellen oder Indizes enthalten kann.
Die Daten werden je nach Bedarf in den Arbeitsspeicher (der Pufferpool) verschoben, und die geänderten oder neu erstellten Seiten werden asynchron auf den Datenträger geschrieben, wobei hauptsächlich zufällige Ein- und Ausgaben generiert werden.
Speicher für speicheroptimierte Tabellen weisen die folgenden Schlüsselattribute auf:
Alle speicheroptimierten Tabellen sind einer speicheroptimierten Datendateigruppe zugeordnet. Die Dateigruppe verwendet eine Syntax und Semantik ähnlich wie Filestream.
Es gibt keine Seiten und die Daten werden als Zeile dauerhaft gespeichert.
Alle Änderungen an speicheroptimierten Tabellen werden durch Anfügevorgänge an aktive Dateien gespeichert. Sowohl das Lesen als auch das Schreiben an Dateien ist sequenziell.
Eine Aktualisierung wird jedoch als Vorgang implementiert, der aus einer Löschung und einer Einfügung besteht. Die gelöschten Zeilen werden nicht sofort aus dem Speicher entfernt. Die gelöschten Zeilen werden von einem Hintergrundprozess entfernt, der
MERGEgenannt wird, basierend auf einer in Haltbarkeit für speicheroptimierte Tabellen beschriebenen Richtlinie.Im Gegensatz zu datenträgerbasierten Tabellen wird der Speicher für speicheroptimierte Tabellen nicht komprimiert. Beim Migrieren einer komprimierten (
ROWoderPAGE) datenträgerbasierten Tabelle zu einer speicheroptimierten Tabelle müssen Sie die Änderung der Größe berücksichtigen.Eine speicheroptimierte Tabelle kann sowohl dauerhaft als auch nicht dauerhaft sein. Sie müssen Speicher nur für dauerhafte speicheroptimierte Tabellen konfigurieren.
In diesem Abschnitt werden Prüfpunktdateipaare und weitere Aspekte der Speicherung von Daten in speicheroptimierten Tabellen beschrieben.
Artikel in diesem Abschnitt:
- Konfigurieren von Speicher für speicheroptimierte Tabellen
- Die speicheroptimierte Dateigruppe
- Dauerhaftigkeit für speicheroptimierte Tabellen
- Prüfpunktvorgang für speicheroptimierte Tabellen
- Definieren von Dauerhaftigkeit für speicheroptimierte Objekte
- Vergleichen des datenträgerbasierten Tabellenspeichers mit dem speicheroptimierten Tabellenspeicher