3.1 Ensure compatibility level >= 130A 1
3.2 Elevate to SNAPSHOT (Transaction Isolation Level) 1
3.3 Create an optimized FILEGROUP 2
3.4 Create a memory-optimized table 2
3.5 Create a natively compiled stored procedure (native proc) 2
Terms
WITH
(MEMORY_OPTIMIZED = ON,
DURABILITY = SCHEMA_AND_DATA);
NATIVE_COMPILATION,
SCHEMABINDING
Overview
Applies to: SQL Server / Azure SQL Database / Azure SQL Managed Instance
A technique used to pre-load the table data into memory by using "filestream" files.
Advantages
Faster indexing
Faster access to row level data
Faster calculations and aggregations
Faster DML operations
Implementation of MOT
SELECT d.compatibility_level
FROM sys.databases as d
WHERE d.name = Db_Name();
ALTER DATABASE CURRENT
SET COMPATIBILITY_LEVEL = 130;
Elevate to SNAPSHOT (Transaction Isolation Level)
ALTER DATABASE CURRENT
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = ON;
Create an optimized FILEGROUP
ALTER DATABASE imoltp ADD FILEGROUP imoltp_mod CONTAINS MEMORY_OPTIMIZED_DATA
ALTER DATABASE imoltp ADD FILE (name='imoltp_mod1', filename='c:\data\imoltp_mod1') TO FILEGROUP imoltp_mod
Create a memory-optimized table
CREATE TABLE dbo.SalesOrder
(
SalesOrderId integer not null IDENTITY
PRIMARY KEY NONCLUSTERED,
CustomerId integer not null,
OrderDate datetime not null
)
WITH
(MEMORY_OPTIMIZED = ON,
DURABILITY = SCHEMA_AND_DATA);
Create a natively compiled stored procedure (native proc)