对表分区,对数据库有很多好处,通常来说,分区的好处有两个:减少产生死锁的竞争条件,和删除分区的数据。由于分区之间是相互独立的,因此,对一个分区加X锁,不会对其他分区产生竞争,这是避免死锁(dead lock)的一种方式。对大数据表进行数据删除操作时,可以使用分区切换,使用少量的IO,从分区表中删除海量的数据。

在实际的项目中,有如下的分区函数和分区架构( Partition Scheme):

CREATE PARTITION FUNCTION [funcPartition_int_DataSourceID](int) 
AS RANGE LEFT 
FOR VALUES (1, 2, 3)

CREATE PARTITION SCHEME [schePartition_int_DataSourceID] 
AS PARTITION [funcPartition_DataSourceID] 
TO ([PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY])


create table dbo.dt_test
(
...More column definition

DataSourceID int
)
on [schePartition_int_DataSourceID](DataSourceID)
View Code

相关文章: