對已存在的資料庫表中進行分割槽

2021-09-08 23:15:43 字數 1005 閱讀 6130

***

兩天一直在研究

2005

中如何對錶進行分割槽

,但是參考了多數資料都是說新建表後再將原表中資料插入到新錶中

,這樣有些不方便

.今天發現了如何更改表檔案組的所在檔案組

,然後看了看

.會不會也能應用到分割槽表中

..試了試嗯.不錯

...真的管用哦

.下面看看**

說明現有表mytb

主鍵索引

pk_mytb.

原理更改表的聚集索引的所在檔案組使得表移動到新的

"檔案組中

(這裡我們用表分割槽

)".先建立檔案組

,以及分割槽函式等請參考

我的這篇文章.

然後將建立表部分替換成

alter table mytb drop constraint pk_mytb--

刪除現有表的主鍵

(對有全文索引的只能再管理器中去除主鍵

)alter table [dbo].[fabu] with nocheck add

constraint [pk_fabu] primary key clustered

([id]--

注意id

這裡是你原來的那些主鍵組成的列

) on [ps_product_scheme_mtb]([id])--

將主鍵建立到

ps_product_scheme_mtb

分割槽函式上

用下面這條語句看看分割槽是不是已經改變了

?select *, $partition.pf_product_fabu(id) as pf from mytb

這樣的好處在於不用新建表

.這樣就像本人那種表的

id在多個表中作為參考的從新建表其他資訊將無用

..弊端

-這樣對有全文索引的表必須從新建立全文索引..

----------------------------------------------

強制還原已存在的資料庫

use master goif exists select from sysobjects where id object id n dbo spforcerestoredb and objectproperty id,n isprocedure 1 drop procedure dbo spfor...

資料庫表分割槽

create database mytest on sql server 資料庫表分割槽由三個步驟來完成 1.建立分割槽函式 2.建立分割槽架構 3.對錶進行分割槽 1.0建立表分割槽函式 create partition function mypartfunc int as range right...

資料庫表分割槽

實現資料庫表分割槽步驟 1,檢視資料庫檔案儲存位置 select from v datafile 2,在伺服器上資料庫儲存位置上,新建表空間檔案 touch d part1.dbf touch d part2.dbf 第二種方式 在plsql或oracle命令端,建立表空間 3,建立表,並根據型別分...