---
# System prepended metadata

title: MSSQLCOLUMNSTORE效能測試

---

# MS-SQL COLUMNSTORE 效能測試

## 測試環境
  * SQL 2022 ( on Linux Docker )
  * 資料筆數  
    30,947,409 筆

  * 資料欄位結構
    ```SQL
    CREATE TABLE [dbo].[DemoTable](
    	[Id] [bigint] NOT NULL,
    	[ProduceCode] [varchar](8) NULL,
    	[Fac_No] [char](8) NOT NULL,
    	[AppType] [varchar](4) NULL,
    	[DType] [varchar](6) NULL,
    	[CodeNo] [varchar](6) NULL,
    	[AppTime] [char](7) NULL,
    	[app_qty] [decimal](18, 6) NULL,
    	[Fac_Name] [varchar](300) NULL,
    	[ProduceName] [nvarchar](200) NULL,
    	[CodeName] [varchar](200) NULL,
    	[Pd_qty_mMax] [decimal](18, 6) NULL,
    	[Pd_qty_mAvg] [decimal](18, 6) NULL
    ) 
    ```

## 實體磁碟空間佔用比較
  | Row Base | Column Base  | 空間節省 |
  |---:| ---:| ---:|
  |  4815 MB | 340 MB | 92% | 

## 查詢效能比較
  * 測試語法
  ```SQL
  select fac_no , count(*) 資料筆數 , AVG(app_qty) 平均值 , STDEVP(app_qty) 標準偏差
  from DemoTable
  group by fac_no
  ```
  * 效能比較  

   | 項目 | Row Base | Column Base  | 效能提升 |
   |:---:| ---:|---:|---:|
   | CPU |  27593 | 7122 | 74% |
   | Disk Reads | 602445 | 29885 | 95% |

## 網路參考資料
  * [資料行存放區索引](https://learn.microsoft.com/zh-tw/sql/relational-databases/indexes/columnstore-indexes-overview?view=sql-server-ver16)

