sqlserver 如何按年按月建立分區函數

來源:互聯網
上載者:User

標籤:


我建立了分區函數如下:
create partition function pf_month1(varchar(8))
as range left for values (‘20120131‘,‘20120229‘,‘20120331‘,‘20120430‘,‘20120531‘,‘20120630‘,‘20120731‘,‘20120831‘,‘20120930‘,‘20121031‘,‘20121130‘) 

但有一個問題,遇到跨年怎麼處理?

如果到了2013年,所有的資料都會放在 最後一個分區裡面,怎麼處理?有沒有更好一點的分區函數,按年按月進行分區?

------解決方案--------------------
用ALTER PARTITION FUNCTION/SCHEME
參考
http://msdn.microsoft.com/zh-cn/library/ms186307.aspx
http://msdn.microsoft.com/zh-cn/library/ms190347.aspx
------解決方案--------------------
1.用每月1號做分區邊界比較好,省得判斷各月的天數.
2.分區是用來加快查詢的,但各分區最好是獨立的物理磁碟,放在同一個物理盤上,並不能增加許多效能.
3.如果按月分區,說明每月的資料量非常大,如果這樣,則滿一個月後修改分區函數即可,而不是一下子把所有分區都劃分好.
4.如果滿一個月後,前面某些月的數據使用量不大,則可以合并,這樣只要把分區重新劃分一下即可.
------解決方案--------------------
假定現在的分區邊界是 100 200 300 400
也就是 


<100 200~300 300~400 >400

增加一個邊界是500的分區

SQL code
--指定下一個分區應用檔案組.(如:PRIMARY)ALTER PARTITION SCHEME [customer_scheme]  --分區架構NEXT USED [PRIMARY] --指定分區分界點為ALTER PARTITION FUNCTION customer_partFunc()  --分區函數SPLIT RANGE (500)

sqlserver 如何按年按月建立分區函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.