同資料列資料(In-Row Data)Part 2
ROCK在之前有寫到關於同資料列資料(In-Row Data)Part 1 這個設定
但只是紙上談兵,今日就將該功能設定做一個小LAB吧。
下圖中我們先建裡兩個資料表InRowTable及OutRowTable,我們將OutRowTable開啟
large value types out of row這一個功能(預設是關閉)。同時將兩個資料表塞入大量資料。
完成資料表建立跟塞入大量資料後,我們用 Select * 去Query兩個資料表。如下圖,我們可以看見
兩個一樣Schema的資料表(資料筆數及內容也一樣)。在邏輯讀取上InRowTable資料表比OutRowTable
的IO高 338 : 134 ,但是OutRowTable的LOB邏輯讀取數高達65870。
下圖是我們在Select時避開LOB欄位,因此我們只Select id而已,此時我們可以看見OutRowTable資料
表的IO就佔上風了。
結論 : 當我們資料表有Nvarchar(max)或Varchar(max)等大型欄位時,該開啟large value types out of row在IO上會比較好,還是關閉large value types out of row(預設)會較佳呢?應該還是得視您的AP商業邏輯來決定。
我是ROCK
rockchang@mails.fju.edu.tw