時間:2024-02-07 12:09作者:下載吧人氣:22
當一個表數據量很大時候,很自然我們就會想到將表拆分成很多小表,在執行查詢時候就到各個小表去查,最后匯總數據集返回給調用者加快查詢速度。比如電商平臺訂單表,庫存表,由于長年累月讀寫較多,積累數據都是異常龐大的,這時候,我們可以想到表分區這個做法,降低運維和維護成本,提高讀寫性能。比如將前半年訂單放一個歷史分區表,不活躍庫存放一個歷史分區表。截止到SQL Server 2016,一張表或一個索引最多可以有15000個分區。
分區范圍是指在要分區的表中,根據業務選擇表中的關鍵字段做為分區邊界條件,分區后,數據所在的具體位置至關重要,這樣才能在需要時只訪問相應的分區。注意分區是指數據的邏輯分離,不是數據在磁盤上的物理位置,數據的位置由文件組來決定,所以一般建議一個分區對應一個文件組。
分區表中的字段可以作為分區鍵,比如庫存表中供應商ID。對表和索引進行分區的第一步就是定義分區的關鍵數據。
除了對表的數據集進行分區之外,還可以對索引進行分區,使用相同的函數對表及其索引進行分區通常可以優化性能。
在這里演示示例當中,我根據業務場景在TestDB數據庫新增三個文件組,而三個文件組分別對應三個分區。而多個文件組好處是可以按照不同業務場景將數據放在對應文件組當中,優化性能同時好維護數據。文件組數量由硬件決定,最好是一個文件組對應一個分區,好維護。而通常文件組都處于不同磁盤上的,但是由于是演示,我只在一個磁盤中存放。
–創建四個文件組
網友評論