SQL Server 2014引入了内存数据库,这是个非常好的功能。数据可以直接在内存中,这样可以直接对内存进行操作,性能有很大的提高。
今天想到一个问题,如果表增长的大了,而数据库内存不够会出现什么样的情况。因为微软的MSDNS上是这样写的额:
A computer with enough memory to hold the data in memory-optimized tables. Memory-optimized data must not use more than 80% of the maximum server memory.
也就是不要超过整个INSTANCE内存的80%,但是数据库的增长有时候是无法预料的啊。下面开始我的测试:
--Create database with memory-optimizeddata filegroup
CREATE DATABASE Hekaton_Demo
ON
PRIMARY(NAME = [hekaton_demo_data],
FILENAME = 'C:\DATA\hekaton_demo_data.mdf',size=500MB)
, FILEGROUP [hekaton_demo_fg] CONTAINSMEMORY_OPTIMIZED_DATA(
NAME = [hekaton_demo_dir],
FILENAME = 'C:\DATA\hekaton_demo_dir')
LOG ON (name = [hekaton_demo_log], Filename='C:\DATA\hekaton_demo_log.ldf',size=500MB)
CO