创建带分区的数据表步骤:
1,建立数据库里指定文件组FILEGROUP[分区文件名](NAME=‘’,FILENAME=‘’,SIZE=,MAXSIZE=,FILEGROWTH=)
2,创建分区表函数,可以理解为一个规则。CREATE PARTITION FUNCTION[函数名](用来分区的字段的类型)AS RANGE LEFT FOR VALUES(范围值)
3,创建分区架构,即将分区函数应用到分区文件组里面去CREATE PARTITION SCHEME[架构名] AS PARTITION [分区函数名] TO(分区文件名,分区文件名,分区文件名,分区文件名);
4,创建表结构CREATE TABLE (ID INT NOT NULL,COLUMN。。。) ON [分区结构名](用来分区的字段名)
完整示例地址:http://www.cnblogs.com/jackyrong/archive/2006/11/13/559354.html
对现有数据库进行分区操作有待考究
附带,对表进行分区的好处:
数据库的整体结构
数据库文件
|—数据分区
|—数据页(8种类型)
页的大小为 8 KB。这意味着 SQL Server 数据库中每 MB 有 128 页
区是管理空间的基本单位。一个区是八个物理上连续的页(即 64 KB)。这意味着 SQL Server 数据库中每 MB 有 16 个区。
当一个查询没有合适的索引的时候就会进行全表扫描(table scan),如果有合适的索引的话就会按索引进行查找(seek)。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)索引的结构是按B-树结构来存储,而且SQL维护着树的平衡,也就是说,每次搜索都会遍历相同的层级数。
当数据越来越大,数据分区内的第一个索引页也就是索引B树的根,所属的下级子节点越来越多,索引的层级数会越来越大,索引查询也会越来越慢。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)对表进行分区可以把数据索引页分到不同的区中,也就是形成了多个B树结构,就减少了树的层级数,而且把不同的数据库文件放到不同的物理磁盘中,提高了IO性能,使大数据量的查询更快