国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL Server 2014 新特性——內(nèi)存數(shù)據(jù)庫

2024-08-31 00:56:01
字體:
供稿:網(wǎng)友
SQL Server 2014 新特性——內(nèi)存數(shù)據(jù)庫

SQL Server 2014 新特性——內(nèi)存數(shù)據(jù)庫

目錄

SQL Server 2014 新特性——內(nèi)存數(shù)據(jù)庫... 1

簡介:... 1

設計目的和原因:... 1

專業(yè)名詞... 1

In-Memory OLTP不同之處... 2

內(nèi)存優(yōu)化表... 2

內(nèi)存優(yōu)化表的索引... 2

并發(fā)能力的提升... 3

和競爭對手相比幾點... 3

Getting Start. 3

內(nèi)存數(shù)據(jù)庫的使用... 3

存儲... 5

TSQL支持... 7

簡介:

內(nèi)存數(shù)據(jù)庫(In-Memory OLTP),代號Hekaton

設計目的和原因:

1.將請求的負荷放到內(nèi)存中

2.減少數(shù)據(jù)延遲

3.來適應特殊的負荷類型

如果數(shù)據(jù)都是在內(nèi)存中,那么當前的數(shù)據(jù)庫優(yōu)化器產(chǎn)生的執(zhí)行計劃是沒什么意義的,因為現(xiàn)在的優(yōu)化器默認數(shù)據(jù)在磁盤中而不是在內(nèi)存中,所以不從磁盤中讀取數(shù)據(jù),優(yōu)化器應該使用新的執(zhí)行計劃和新的開銷算法。

In-Memory OLTP 減少了鎖等待問題,使用基于行版本來優(yōu)化同步的控制,改善了寫入等待的延遲,寫入日志變少,寫入次數(shù)變少。

專業(yè)名詞

Memory-optimized tables索引優(yōu)化表:引入了新的結(jié)構,被加入到in-memory oltp的新表

Disk-Based tables(磁盤表):基礎磁盤存放的表,就是我們一直使用的表。

Natively complied原生編譯存儲過程:用于索引優(yōu)化表的訪問,也可以使用tsql訪問,通過原生編譯存儲過程訪問速度會更快一點

嵌套事務:可以在優(yōu)化表中使用,也可以在磁盤表中使用

interop:可以讓tsql訪問索引優(yōu)化表

In-Memory OLTP不同之處

通過圖可以發(fā)現(xiàn),原生編譯存儲過程只能使用在內(nèi)存優(yōu)化表上,而query interop用戶tsql訪問內(nèi)存優(yōu)化表的橋梁

內(nèi)存優(yōu)化表

1.內(nèi)存優(yōu)化表和硬盤表不同,不需要把數(shù)據(jù)從硬盤上讀取放入cache中,

2.checkpoint只是用戶恢復的目的

3.和硬盤表一樣,使用事務日志,當服務重啟后,使用checkpoint的文件和日志,對內(nèi)存優(yōu)化表進行重建

4.內(nèi)存優(yōu)化表可以通過選項來設置表的持久性:SCHEMA_ONLY只保存表的結(jié)構,不保存數(shù)據(jù),當服務重啟后數(shù)據(jù)就會丟失

內(nèi)存優(yōu)化表的索引

1.內(nèi)存優(yōu)化表中的索引不再以btree方式存儲,而是以hash 表的方式

2.內(nèi)存優(yōu)化表必須有一個索引,并沒有堆表的概念

3.索引,不會被保存在文件或者事務日志,并會根據(jù)內(nèi)存優(yōu)化表的修改自動維護,在所有重啟時,根據(jù)表的文件和日志重建索引

并發(fā)能力的提升

1.以行版本的方式存儲表數(shù)據(jù),修改數(shù)據(jù)時會請求鎖,但是在內(nèi)存優(yōu)化表中不會

2.雖然沒有寫入鎖,但是還是有等待比如log write,比硬盤表高效,寫入的日志少,速度快

和競爭對手相比幾點

1.內(nèi)存表和硬盤表通過interop集成,有利于過渡

2.原生編譯存儲過程,效率高

3.hash索引,提高內(nèi)存訪問效率

4.沒有page,不會出現(xiàn)page latch的等待

5.通過行版本實現(xiàn),不需要lock和latch

Getting Start內(nèi)存數(shù)據(jù)庫的使用創(chuàng)建數(shù)據(jù)庫

CREATE DATABASE HKDB

ON

PRIMARY(NAME = [HKDB_data],

FILENAME = 'Q:/data/HKDB_data.mdf', size=500MB),

FILEGROUP [SampleDB_mod_fg] CONTAINS MEMORY_OPTIMIZED_DATA

(NAME = [HKDB_mod_dir],

FILENAME = 'R:/data/HKDB_mod_dir'),

(NAME = [HKDB_mod_dir],

FILENAME = 'S:/data/HKDB_mod_dir')

LOG ON (name = [SampleDB_log], Filename='L:/log/HKDB_log.ldf', size=500MB)

COLLATE Latin1_General_100_BIN2;

在創(chuàng)建庫時需要制定 MEMORY_OPTIMIZED_DATA文件組,用來保存checkpoint和delta文件,

創(chuàng)建的數(shù)據(jù)庫只能使用BIN2排序規(guī)則,原生編譯存儲過程只能支持在這些規(guī)則上比較,排序,分組

添加MEMORY_OPTIMIZED_DATA到已有數(shù)據(jù)庫

ALTER DATABASE AdventureWorks2012 ADD FILEGROUP hk_mod CONTAINS MEMORY_OPTIMIZED_DATA;

GO

ALTER DATABASE AdventureWorks2012 ADD FILE (NAME='hk_mod', FILENAME='c:/data/hk_mod')

TO FILEGROUP hk_mod;

GO

創(chuàng)建表

CREATE TABLE T1 (

[Name] varchar(32) not null PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 1024),

[City] varchar(32) null,

[LastModified] datetime not null,

) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA);

1.創(chuàng)建內(nèi)存優(yōu)化表是需要注明,MEMORY_OPTIMIZED=ON,并設置持久性

2.bit,tinyint,smallint,int,bigint,money,smallmoney,float,real,datetime,smalldatetime,datetime2,date,t

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 南投县| 醴陵市| 大同市| 丁青县| 桑植县| 新兴县| 玉林市| 汾阳市| 远安县| 南雄市| 临泽县| 通城县| 罗平县| 日喀则市| 房产| 梧州市| 衡阳县| 抚松县| 吐鲁番市| 姚安县| 垦利县| 德格县| 全南县| 湟中县| 寿光市| 永吉县| 萨嘎县| 临沧市| 舞钢市| 榆林市| 鹤壁市| 民乐县| 恩平市| 治县。| 贞丰县| 明溪县| 余庆县| 静宁县| 灵武市| 本溪| 巴楚县|