| title | Scalability |
|---|---|
| description | Learn about enhancements to scalability to on-disk storage for memory-optimized tables in SQL Server, such as using multiple threads to persist tables. |
| author | MikeRayMSFT |
| ms.author | mikeray |
| ms.reviewer | randolphwest |
| ms.date | 10/20/2025 |
| ms.service | sql |
| ms.subservice | in-memory-oltp |
| ms.topic | concept-article |
| monikerRange | =azuresqldb-current || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current |
[!INCLUDE SQL Server Azure SQL Database Azure SQL Managed Instance]
[!INCLUDE sssql16-md] contains scalability enhancements to the on-disk storage for memory-optimized tables.
[!INCLUDE ssSQL14] had a single offline checkpoint thread that scanned the transaction log for changes to memory-optimized tables and persisted them in checkpoint files (such as data and delta files). In machines with a larger number of cores, the single offline checkpoint thread could fall behind.
In [!INCLUDE sssql16-md] and later versions, there are multiple concurrent threads responsible to persist changes to memory-optimized tables.
In the previous release of [!INCLUDE ssNoVersion], the log apply portion of the recovery operation was single threaded. In [!INCLUDE sssql16-md] and later versions, the log apply is multithreaded.
The MERGE operation is now multithreaded.
The DMVs sys.dm_db_xtp_checkpoint_stats and sys.dm_db_xtp_checkpoint_files have been changed significantly.
The In-memory OLTP engine continues to use memory-optimized filegroup based on FILESTREAM, but the individual files in the filegroup are decoupled from FILESTREAM. These files are fully managed (such as for create, drop, and garbage collection) by the In-Memory OLTP engine.
Note
DBCC SHRINKFILE isn't supported.