in-memory oltp

Technical Article

In-Memory OLTP – Common Workload Patterns and Migration Considerations

  • Article

In-Memory OLTP is a high performance, memory-optimized engine integrated into SQL Server 2014 and designed for modern hardware trends. In-Memory OLTP allows users to move data into memory resident tables while keeping other data in traditional, disk-based table structures. For performance critical workloads, users can also migrate Transact-SQL code to natively compiled stored procedures. This can provide additional performance gains. This paper aims to help readers understand some of the common architectural patterns where In-Memory OLTP has provided significant benefits. The paper also discusses considerations for migrating applications to In-Memory OLTP.

★ ★ ★ ★ ★ ★ ★ ★ ★ ★

You rated this post out of 5. Change rating

2018-06-22

2,677 reads

Technical Article

In-Memory OLTP – SQL Server In-Memory OLTP Internals Overview

  • Article

In-Memory OLTP (project “Hekaton”) is a new database engine component, fully integrated into SQL Server. It is optimized for OLTP workloads accessing memory resident data. In-Memory OLTP allows OLTP workloads to achieve significant improvements in performance, and reduction in processing time. Tables can be declared as ‘memory optimized’ to enable In-Memory OLTP’s capabilities. Memory-optimized tables are fully transactional and can be accessed using Transact-SQL. Transact-SQL stored procedures can be compiled to machine code for further performance improvements on memory-optimized tables. The engine is designed for high concurrency and blocking is minimal.

★ ★ ★ ★ ★ ★ ★ ★ ★ ★

You rated this post out of 5. Change rating

2018-06-21

2,997 reads

External Article

In-Memory OLTP: Row Visibility in SQL Server’s MVCC

  • Article

SQL Server's In-memory OLTP is fast, due to its multi-valued concurrency control (MVCC). MVCC avoids the need for locks by arranging for each user connected to the database to see a snapshot of the rows of the tables at a point in time, No changes made by the user will be seen by other users of the database until the changes have been completed and committed. It is conceptually simple but does the user always see the correct version of a row under all circumstances? Shel Burkow explains.

2016-10-17

3,150 reads

External Article

In-Memory OLTP - Row Structure and Indexes

  • Article

There are several decisions to be made when designing indexes for Memory-optimized tables in In-Memory OLTP, and to make the best choice, it pays to understand something about the nature and usage of memory-optimised indexes. Murilo Miranda continues his series by explaining how such an index is unlike a conventional index.

2016-06-10

4,346 reads

External Article

Implementing SQL Server In-Memory OLTP

  • Article

How do you go about transferring a disk-based workload to the respective memory-optimized design? How do you process memory-optimized tables? How important for performance are natively-compiled Stored Procedures? Artemakis Artemiou comes up with a step-by-step guide to implementing an in-memory OLTP solution .

2016-05-16

3,732 reads

Blogs

How to Clear the SSMS Cache (SSMS 21 and Later)

By

How to Clear the SSMS Cache (SSMS 21 and Later) Updated...

The flight recorder: Replaying what an AI agent did on my SQL Server

By

“What exactly did it do on my server?” is the first question a DBA...

Announcements from the Microsoft Fabric Community Conference — Barcelona 2026

By

Microsoft shared a broad set of Fabric, Power BI, and SQL updates at FabCon...

Read the latest Blogs

Forums

Let's Talk Certifications

By Grant Fritchey

Comments posted to this topic are about the item Let's Talk Certifications

The Hidden Security Risks of Role Combination in SSAS Tabular

By Pablo Echeverria

Comments posted to this topic are about the item The Hidden Security Risks of...

The Empty Aggregate

By Steve Jones - SSC Editor

Comments posted to this topic are about the item The Empty Aggregate

Visit the forum

Question of the Day

The Empty Aggregate

I have this table in a SQL Server 2025 database:

CREATE TABLE [dbo].[CustomerOrder]
(
[OrderID] [int] NULL,
[CustomerID] [int] NULL,
[total] [money] NULL
) ON [PRIMARY]
GO
What is returned from this code? (answers are for the sum and then the count)
SELECT SUM(total) AS sum,
       COUNT(total) AS count
FROM dbo.CustomerOrder;



See possible answers