インメモリデータベース

インメモリー列ストア(12cR1)

alter system set INMEMORY_SIZE = 100M scope=spfile;
shutdown immediate;
startup

SHOW PARAMETER INMEMORY_SIZE

CREATE TABLE tab22 (
col1 NUMBER(5) PRIMARY KEY,
col2 VARCHAR2(15))
INMEMORY;


CREATE TABLE tab5 (col1 int) ENGINE = MEMORY;

insert into tab5 values(1);
select * from tab5;

未対応の模様

インメモリ OLTP
https://docs.microsoft.com/ja-jp/sql/relational-databases/in-memory-oltp/survey-of-initial-areas-in-in-memory-oltp?view=sql-server-2017

インメモリ OLTP の機能
1.メモリ最適化テーブル
2.ネイティブ コンパイル モジュール

(2014)以降

select name,is_memory_optimized_elevate_to_snapshot_on from sys.databases;

 

--メモリ最適化ファイルグループを作成する

USE [master]
GO
ALTER DATABASE [test] ADD FILEGROUP [InMemoryFG] CONTAINS MEMORY_OPTIMIZED_DATA
GO
ALTER DATABASE [test] ADD FILE ( NAME = N'InMemoryData', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\test' ) TO FILEGROUP [InMemoryFG]
GO


--メモリ最適化テーブルを作成する
USE [test]
GO
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);