Transact-SQL Support for In-Memory OLTP
You can access memory-optimized tables using any Transact-SQL query or DML statement (SELECT, INSERT, UPDATE, or DELETE), ad hoc statement, and SQL module such as stored procedures, table-value functions, scalar functions, triggers, and views. For more information see Accessing Memory-Optimized Tables Using Interpreted Transact-SQL.
Stored procedures that only reference memory-optimized tables can be natively compiled into machine code and typically provide significant performance gains over interpreted (disk-based) stored procedures. For optimized access to memory-optimized tables use natively compiled stored procedures. For more information, see Natively Compiled Stored Procedures.
When creating and modifying database objects (DDL statements), the following statements have been modified:
ALTER DATABASE File and Filegroup Options (Transact-SQL) (see
MEMORY_OPTIMIZED_DATA
)CREATE DATABASE (SQL Server Transact-SQL) (see
MEMORY_OPTIMIZED_DATA
)CREATE PROCEDURE (Transact-SQL) (see
NATIVE_COMPILATION
,SCHEMABINDING
,EXECUTE AS
, andBEGIN ATOMIC
)CREATE TABLE (Transact-SQL) (see
MEMORY_OPTIMIZED
,DURABILITY
,BUCKET_COUNT
,INDEX
, andHASH
)CREATE TYPE (Transact-SQL) (see
MEMORY_OPTIMIZED
,BUCKET_COUNT
,INDEX
, andHASH
)DECLARE @local_variable (Transact-SQL) (see
NULL
|NOT NULL
)
Memory-optimized tables support PRIMARY KEY
and NOT NULL
constraints. For information on implementing unsupported constraints, see Migrating Check and Foreign Key Constraints.
For information on unsupported features, see Transact-SQL Constructs Not Supported by In-Memory OLTP.
In This Section
Accessing Memory-Optimized Tables Using Interpreted Transact-SQL
System Views, Stored Procedures, DMVs and Wait Types for In-Memory OLTP
See Also
In-Memory OLTP (In-Memory Optimization)
Migration Issues for Natively Compiled Stored Procedures
Supported SQL Server Features
Natively Compiled Stored Procedures