最近研究了下分区,下面记录下我对分区的理解。
目的:提高海量数据表的查询效率
分区:从实现方式上分为物理分区和逻辑分区,从实现方法上分为水平分区和垂直分区
实现方式:
1.物理分区方式(MT):将海量数据表按分区字段,拆分成若干字表,父表不存在。直接从相应范围子表中操作。
2.逻辑分区方式(PT):create partition function 方式进行分区。实际只是一张表,但是按分区方式重新分配存取位置。
实现方法(主要是指实现方式中的逻辑分区方式):
1.水平分区方式:按记录分区
2.垂直分区方式:按字段分区
说到分区就不能不提到filegroup. 如果逻辑分区,那么分区函数的分区个数必须小于等于filegroup数。多个分区可以对应相同的filegroup. 但是filegroup并不依赖逻辑分区。他主要作用就是可以将同一个库中的文件保存到不同的物理地址。
上面只是做一个简单的总结和对自己理解的一种记录。
具体的可以参考:http://www.xjcncn.com/school/data/mssql/200707/1413.html 一个水平分区比较好的例子。