Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
| Categorieën | Tabel op basis van schijf | Duurzame Geheugen-geoptimaliseerde Tabel |
|---|---|---|
| DDL | Metagegevensgegevens worden opgeslagen in systeemtabellen in de primaire bestandsgroep van de database en zijn toegankelijk via catalogusweergaven. | Metagegevensgegevens worden opgeslagen in systeemtabellen in de primaire bestandsgroep van de database en zijn toegankelijk via catalogusweergaven. |
| Structuur | Rijen worden opgeslagen in pagina's van 8 kilobyte. Op een pagina worden alleen rijen uit dezelfde tabel opgeslagen. | Rijen worden opgeslagen als afzonderlijke rijen. Er is geen paginastructuur. Twee opeenvolgende rijen in een gegevensbestand kunnen deel uitmaken van verschillende tabellen die zijn geoptimaliseerd voor geheugen. |
| Indexes | Indexen worden opgeslagen in een paginastructuur die vergelijkbaar is met gegevensrijen. | Alleen de indexdefinitie blijft behouden (geen indexrijen). Indexen worden in het geheugen onderhouden en opnieuw gegenereerd wanneer de tabel die is geoptimaliseerd voor geheugen in het geheugen wordt geladen als onderdeel van het opnieuw opstarten van een database. Omdat indexrijen niet behouden blijven, wordt er geen logboekregistratie uitgevoerd voor indexwijzigingen. |
| DML-bewerking | De eerste stap is het vinden van de pagina en vervolgens laden in bufferpool. Invoegen SQL Server voegt de rij op de pagina in met inachtneming van de rijvolgorde bij een geclusterde index. Delete SQL Server zoekt de rij die moet worden verwijderd op de pagina en markeert deze verwijderd. bijwerken SQL Server vindt de rij op de pagina. De update wordt ter plaatse uitgevoerd voor niet-sleutelkolommen. Het bijwerken van een sleutelkolom gebeurt door eerst te verwijderen en vervolgens in te voegen. Nadat de DML-bewerking is voltooid, worden de betrokken pagina's als onderdeel van het buffervoorraadbeleid, controlepunt, of transactiecommit voor minimaal vastgelegde bewerkingen naar de schijf geschreven. Beide lees-/schrijfbewerkingen op pagina's leiden tot onnodige I/O. |
Voor tabellen die zijn geoptimaliseerd voor geheugen, omdat de gegevens zich in het geheugen bevinden, worden de DML-bewerkingen rechtstreeks in het geheugen uitgevoerd. Er is een achtergrondthread die de logboekrecords leest voor tabellen die zijn geoptimaliseerd voor geheugen en deze in gegevens- en deltabestanden persistent maakt. Een update genereert een nieuwe rijversie. Maar een update wordt geregistreerd als een verwijderbewerking, gevolgd door een invoegbewerking. |
| Gegevensfragmentatie | Gegevensmanipulatie fragmenteert data, wat leidt tot gedeeltelijk gevulde pagina's en logisch opeenvolgende pagina's die niet aaneengesloten zijn op schijf. Dit verslechtert de prestaties van gegevenstoegang en vereist dat u gegevens defragmenteert. | Gegevens die zijn geoptimaliseerd voor geheugen, worden niet opgeslagen in pagina's, dus er is geen gegevensfragmentatie. Wanneer rijen echter worden bijgewerkt en verwijderd, moeten de gegevens- en deltabestanden worden gecomprimeerd. Dit wordt gedaan door een achtergrond-MERGE-thread op basis van een samenvoegbeleid. |