Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
| Kategorier | Diskbaserad tabell | Beständig Minnesoptimerad Tabell |
|---|---|---|
| DDL | Metadatainformation lagras i systemtabeller i databasens primära filgrupp och är tillgänglig via katalogvyer. | Metadatainformation lagras i systemtabeller i databasens primära filgrupp och är tillgänglig via katalogvyer. |
| Struktur | Rader lagras på 8 000 sidor. En sida lagrar endast rader från samma tabell. | Rader lagras som enskilda rader. Det finns ingen sidstruktur. Två rader i rad i en datafil kan tillhöra olika minnesoptimerade tabeller. |
| Indexen | Index lagras i en sidstruktur som liknar datarader. | Endast indexdefinitionen sparas (inte indexrader). Index underhålls i minnet och återskapas när den minnesoptimerade tabellen läses in i minnet som en del av omstarten av en databas. Eftersom indexrader inte sparas görs ingen loggning för indexändringar. |
| DML-åtgärd | Det första steget är att hitta sidan och sedan läsa in den i buffertpoolen. Infoga SQL Server infogar raden på sidan som redovisar radordning för grupperat index. Ta bort SQL Server letar upp den rad som ska tas bort på sidan och markerar den borttagen. Update SQL Server letar upp raden på sidan. Uppdateringen görs på plats för icke-nyckelkolumner. Nyckelkolumnsuppdateringen görs genom en borttagnings- och infogningsåtgärd. När DML-åtgärden är klar skrivs de berörda sidorna till disken som en del av buffertpoolens princip, kontrollpunkt eller transaktionskommitté för minimalt loggade operationer. Både läs-/skrivåtgärder på sidor leder till onödig I/O. |
Eftersom data finns i minnet görs DML-åtgärderna direkt i minnet för minnesoptimerade tabeller. Det finns en bakgrundstråd som läser loggposterna för minnesoptimerade tabeller och bevarar dem i data- och deltafiler. En uppdatering genererar en ny radversion. Men en uppdatering loggas som en borttagning följt av en infogning. |
| Datafragmentering | Fragmentering genom datamanipulering leder till att data fragmenteras vilket resulterar i delvis fyllda sidor och att logiskt sammanhängande sidor inte är intill varandra på disken. Detta försämrar prestanda för dataåtkomst och kräver att du defragmenterar data. | Minnesoptimerade data lagras inte på sidor, så det finns ingen datafragmentering. Men eftersom rader uppdateras och tas bort måste data- och deltafilerna komprimeras. Detta görs av en bakgrunds-MERGE-tråd baserat på en sammanslagningsprincip. |