Columnstore indexes主要可以改善大量scan/aggregate操作(可達10倍),
因為採用xVelocity壓縮儲存方式(但無法對in-memory table壓縮),
可大大節省disk space(壓縮大約10倍以上,取決於資料表中所有資料型別),
所以和傳統row存放方式不同,通常會在fact table上建立來改善Data Mart/Data Warehouse彙熜效能。
Columnstore indexes主要可以改善大量scan/aggregate操作(可達10倍),
因為採用xVelocity壓縮儲存方式(但無法對in-memory table壓縮),
可大大節省disk space(壓縮大約10倍以上,取決於資料表中所有資料型別),
所以和傳統row存放方式不同,通常會在fact table上建立來改善Data Mart/Data Warehouse彙熜效能。
Disk Base我們會切多個data file在不同Disk drives來提高I/O效能(也分散I/O),
而這樣的行為也和In-Memory table相似。
SQL2016 Enterprise Edition 整體效能比 SQL2014 Enterprise Edition 快40%
1.比row store提高10倍以上的壓縮率(資料相同壓縮率更棒)
2.比row store提高查詢large data 10倍以上效能(優化CPU使用率、更高擊中率、更多資料可存入記憶體)
3.比row store減少更多I/O (只擷取所需欄位)
SQL2016 SP1增強In-Memory資料表新增Columnstore效能。
平行處理提高Insert效能。
針對非記憶體資料表,SQL2016提供了很多新的DMV來幫助我們分析和驗證Columnstore Index內部行為。
Clustered Columnstore Indexes在SQL Server 2016有四個重大增強。
1支援Unique Constraints
2支援Primary Key
3支援Foreign Keys
4建立較小資料列群組
SQL Server 2012推出Columnstore indexes第一個版本,
主要是提高OLAP查詢效能,並改用欄位為單位方式進行儲存,
但諸多限制對OLTP環境相當不有善(建立後資料表變唯讀、只能使用drop and create模式..等),
現在SQL Server 2016讓我們看到Columnstore indexes這幾年堅持及一路走來的改善。