Teilen über


Erstellen und Verwalten von Speicher für speicheroptimierte Objekte

Gilt für:SQL ServerAzure SQL-DatenbankAzure 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 MERGE genannt 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 (ROW oder PAGE) 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: