sqlserver拾遺-表分區

來源:互聯網
上載者:User

標籤:

 

最近對公司資料庫效能方面改造。現已初建成效。

公司原先資料庫問題頗多,簡單列舉下:

1.資料表文檔缺失。

2.資料庫900多張表,接近一半都是備份和一些報表,沒有分庫處理

3.大數量的表按照年份人工匯出建立曆史庫

4.欄位類型存在濫用,毫無資料庫最佳化

如果有哪位兄弟不幸同命相連 ,說的寒心點,這基本就是個爛攤子。好在天下難事必作於細,一步一步最佳化。

我的最佳化步驟是分析業務代碼->補全資料庫文檔->改造業務系統->最佳化資料庫->改造業務系統

由於業務太過複雜,不易重做,所以還是採取比較悲催的做法。

 

經過此次也算是個學習與實踐的過程吧。

使用表分區的情境:

其實公司的資料量真不多,每年最多的資料就百來萬,和上家根本沒法比。但是由於資料庫設計實在糟糕,查詢效能簡直不忍直視啊。

除了建索引外,我還對對日期進行的分區處理。

以下是用到的命令, 記錄下備用

--========================================
-- 建立檔案組

選中資料庫->屬性->檔案組->建立

 

--========================================
-- 建立表分區函數
create partition function fnPartition (int) as Range right
for values(100,200,300)

select * from sys.partition_functions
--========================================
-- 建立表分區架構
create partition scheme schemaforpartition
as partition fnPartition
to ([primary],[primary],[primary],[primary])
select * from sys.partition_schemes

--========================================
-- 修改表分區
alter table Base_User drop constraint PK_Base_User_UserID--刪除現有表的主鍵(對有全文索引的只能再管理器中去除主鍵)
ALTER TABLE [dbo].Base_User WITH NOCHECK ADD
CONSTRAINT PK_Base_User_ID PRIMARY KEY CLUSTERED
(
[UserID]--注意ID這裡是你原來的那些主鍵組成的列
) ON schemaforpartition ([UserID])--將主鍵建立到ps_Product_Scheme_mTb分區函數上

SELECT *, $PARTITION.fnPartition([UserID]) AS PF FROM Base_User
--=============================================
-- 分割後多出來的分區存在在哪個檔案組
alter partition scheme schemaforpartition next Used ‘primary‘
--添加分割點
alter partition function fnPartition() split range (400)
--=============================================
--合并分割點
alter partition function fnPartition() merge range (100)

 

 

參考:

http://kb.cnblogs.com/page/73921/

http://www.cnblogs.com/sienpower/archive/2011/12/31/2308741.html

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.