Comparar el almacenamiento de tablas basadas en disco con el almacenamiento de tablas con optimización para memoria

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Categorías Tabla basada en disco Tabla perdurable con optimización para memoria
DDL La información de metadatos se almacena en las tablas del sistema en el grupo de archivos principal de la base de datos y es accesible a través de las vistas de catálogo. La información de metadatos se almacena en las tablas del sistema en el grupo de archivos principal de la base de datos y es accesible a través de las vistas de catálogo.
Estructura Las filas se almacenan en páginas de 8 kB. Una página solo almacena filas de la misma tabla. Las filas se almacenan como filas individuales. No hay ninguna estructura de página. Dos filas consecutivas de un archivo de datos pueden pertenecer a diferentes tablas optimizadas para memoria.
Índices Los índices se almacenan en una estructura de página similar a las filas de datos. Solo se conserva la definición del índice (no las filas de índice). Los índices se mantienen en memoria y se regeneran si la tabla optimizada para memoria se carga en la memoria como parte del reinicio de una base de datos. Puesto que no se conservan las filas de índice, no se realiza ningún registro para los cambios de índice.
Operación DML El primer paso es encontrar la página y luego cargarla en el buffer pool.

Insertar
SQL Server inserta la fila en la página que representa el orden de las filas para el índice agrupado.

Eliminar
SQL Server busca la fila que se va a eliminar en la página y la marca como eliminada.

Actualizar
SQL Server localiza la fila en la página. La actualización se realiza in situ para las columnas que no son clave. La actualización de la columna de clave se realiza con una operación de inserción y eliminación.

Una vez finalizada la operación DML, las páginas afectadas se escriben en disco como parte de la política de la agrupación de búferes, del punto de control o de la confirmación de la transacción en el caso de las operaciones con registro mínimo. Las operaciones de lectura y escritura en páginas provocan operaciones de E/S innecesarias.
Para las tablas optimizadas para memoria, puesto que los datos residen en memoria, las operaciones DML se realizan directamente en la memoria. Hay un hilo en segundo plano que lee los registros del log de las tablas con optimización para memoria y los guarda de forma persistente en archivos de datos y delta. Una actualización genera una nueva versión de fila. Pero se registra una actualización como una eliminación seguida de una inserción.
Fragmentación de datos La manipulación de datos fragmenta los datos, lo que hace que haya páginas rellenas parcialmente y páginas consecutivas de forma lógica que no son contiguas en el disco. Esto degrada el rendimiento del acceso a los datos y requiere que desfragmente los datos. Los datos optimizados para memoria no se almacenan en las páginas, de modo que no hay fragmentación de los datos. Sin embargo, puesto que se actualizan y eliminan filas, es necesario compactar los archivos delta y de datos. Esto se realiza mediante un hilo en segundo plano MERGE basado en una política de combinación.

Consulte también

Creación y administración del almacenamiento de objetos con optimización para memoria