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