SQL SERVER 2014创建内存表

USE [master]
--创建数据库
CREATE DATABASE [TEST_DB]
ON  PRIMARY
( NAME = N'TEST_DB', FILENAME = N'D:\项目\DATA\TEST_DB.mdf' ,
SIZE = 24800KB , FILEGROWTH = 24800KB )
LOG ON
( NAME = N'TEST_DB_log', FILENAME = N'D:\项目\DATA\TEST_DB_log.ldf' ,
SIZE = 24800KB , FILEGROWTH = 24800KB )
GO
--创建内存表使用的文件组
ALTER DATABASE [TEST_DB] ADD FILEGROUP [TEST_FILE] CONTAINS MEMORY_OPTIMIZED_DATA
GO
--创建内存表使用的文件夹
ALTER DATABASE [TEST_DB]
ADD FILE ( NAME = N'TEST_FILE', FILENAME = N'D:\项目\DATA\TEST_FILE')
TO FILEGROUP [TEST_FILE]
GO

 

创建内存表限制比较多:

1. 支持的数据类型:http://msdn.microsoft.com/ZH-CN/library/dn133179(v=sql.120).aspx

2. 内存优化表支持自增,但唯一允许用于 seed 和 increment 的值为 1;(1,1) 是 seed 和 increment 的默认值;

3. 内存优化表不支持CHECK约束,在非hash索引列上也不行;

4. 内存优化表不支持使用的排序规则所具有的代码页并非 1252 的数据类型 char(n) 和 varchar(n);

5. 内存优化表不支持nvarchar(max)或varchar(max)

6. 内存优化表索引不支持未使用 *_BIN2 排序规则的字符列上的索引,在非hash索引列上也不行;

7. 内存优化表上的索引不支持索引键中有可为 Null 的列,在非hash索引列上也不行;

8. 内存优化表必须有至少一个索引或主键

 

 创建内存优化表Demo

CREATE TABLE [dbo].[TB1_IM] ( [c1] [int] NOT NULL IDENTITY(1,1) PRIMARY KEY
    NONCLUSTERED HASH WITH (BUCKET_COUNT=1000000),
    [c2] [nchar](200)  COLLATE Chinese_PRC_Stroke_90_BIN2 NOT NULL
    INDEX ix_c2 NONCLUSTERED HASH WITH (BUCKET_COUNT=1000000),
    [c3] [nvarchar](200) COLLATE Chinese_PRC_Stroke_90_BIN2 NOT NULL,
    [c4] [nvarchar](200) COLLATE Chinese_PRC_Stroke_90_BIN2 NOT NULL,
    INDEX ix_c3_c4 NONCLUSTERED HASH(c3,c4) WITH(BUCKET_COUNT=1000000),
    INDEX ix_c2_c3  NONCLUSTERED (c2,c3)
)WITH ( MEMORY_OPTIMIZED = ON , DURABILITY = SCHEMA_AND_DATA )

创建索引及主键的字段要把ncharnvarchar的数据类型指定为 COLLATE Chinese_PRC_Stroke_90_BIN2  

https://msdn.microsoft.com/zh-cn/library/ms174979(v=sql.120).aspx

https://msdn.microsoft.com/zh-cn/library/dn133166(v=sql.120).aspx

 

转载于:https://www.cnblogs.com/wangping01/p/4717931.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值