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 Memory的Table需先將該Database新增一個In Memory所需的FileGroup
步驟二 : 透過UI,我們可以看見剛剛新增的File Group及File。
步驟三 : 在資料庫中新增一個資料表dbo.ShoppingCart。
步驟四:用傳統Script將資料寫入資料表中,寫入筆數99999筆,花費約37秒。
步驟五 : 想發揮In Memory的真正效能,需要先將預存程序編譯成機器語言Native-Complied Stored Procedure。這一個步驟我們就來建立一個已經編譯成機器語言的預存程序然後跑跑看。
步驟六 : 你沒有看錯,塞入99999筆資料,基本上算秒殺。
Rock Chang 2014/04/27
我是ROCK
rockchang@mails.fju.edu.tw