一、SQL Server分区介绍
在SQL Server中,数据库的所有表和索引都视为已分区表和索引,默认这些表和索引值包含一个分区;也就是说表或索引至少包含一个分区。SQL Server中数据是按水平方式分区,是多行数据映射到单个分区。已经分区的表或者索引,在执行查询或者更新时,将被看作为单个逻辑实体;简单说来利用分区将一个表数据分多个表来存储,对于大数据量的表,将表分成多块查询,若只查询某个分区数据将降低消耗提高效率。需要注意的是单个索引或者表的分区必须位于一个数据库中。在使用大量数据管理时,SQL Server使用分区可以快速访问数据子集,减少io提高效率。
同时不同分区可以存放在不同文件组里,文件组若能存放在不同逻辑磁盘上,则可以实现io的并发使用以提高效率。如下图所示:
二、SQL Server分区创建
- 创建分区函数:确定分区方式和界点
- 创建分区架构:将分区函数指定的分区映射到文件组
- 新建分区表
- 索引分区知识详解
三、SQL Server分区管理
- 拆分分区(split)
- 合并分区(merge)
- 切换分区(switch)
- $PARTION
统计表可能达到每天1000万数据。只查询当天的数据用于统计,可归档三月前的数据。
得出分区方案如下,详情请链接:
1、 每天生成一个分区
2、 归档三个月前的分区