Native-Complied Stored Procedure才能發揮SQL2014 In Memory這輛超跑

Native-Complied Stored Procedure才能發揮SQL2014 In Memory這輛超跑

SQL 2014 In-Memory Performance Lab

 

日前有機會去巨匠上志強老師的一日課程,課程中介紹了SQL2014許多新功能。其中重頭戲就是In Memory的新技術,課程中老師也透過LAB來展現這個新功能所帶來的效能。今天自己再實作一次順便記錄下來。

 

目前In Memory Table的使用還有許多限制

(1)大型資料欄位不支援,例如:Nvarchar(max)

(2)Index不可以Alter了,只能Drop後重建。

(3)不支援Truncate Table,只能Delete

(4)Table一旦建立後就不可以修改Schema了。

以下的軟MVA有不錯的課程讓您了解該技術。

 

以下實驗的Script都是透過課程中提供的Sample Code

 

 

 

步驟一 : 要建立In MemoryTable需先將該Database新增一個In Memory所需的FileGroup

clip_image002

 

 

 

 

 

 

 

 

步驟二 : 透過UI,我們可以看見剛剛新增的File GroupFile

clip_image004clip_image006

 

 

 

 

 

步驟三 : 在資料庫中新增一個資料表dbo.ShoppingCart

clip_image008

 

步驟四:用傳統Script將資料寫入資料表中,寫入筆數99999筆,花費約37秒。

clip_image010

 

步驟五 : 想發揮In Memory的真正效能,需要先將預存程序編譯成機器語言Native-Complied Stored Procedure。這一個步驟我們就來建立一個已經編譯成機器語言的預存程序然後跑跑看。

clip_image012

 

步驟六 : 你沒有看錯,塞入99999筆資料,基本上算秒殺。

clip_image014

Rock Chang 2014/04/27

 

我是ROCK

rockchang@mails.fju.edu.tw