最近学习SQL SERVER,关于表的分区有点体会,请大家拍砖
2008-06-05 17:38
411 查看
创建带分区的数据表步骤:
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)。
索引的结构是按B-树结构来存储,而且SQL维护着树的平衡,也就是说,每次搜索都会遍历相同的层级数。
当数据越来越大,数据分区内的第一个索引页也就是索引B树的根,所属的下级子节点越来越多,索引的层级数会越来越大,索引查询也会越来越慢。
对表进行分区可以把数据索引页分到不同的区中,也就是形成了多个B树结构,就减少了树的层级数,而且把不同的数据库文件放到不同的物理磁盘中,提高了IO性能,使大数据量的查询更快
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)。
索引的结构是按B-树结构来存储,而且SQL维护着树的平衡,也就是说,每次搜索都会遍历相同的层级数。
当数据越来越大,数据分区内的第一个索引页也就是索引B树的根,所属的下级子节点越来越多,索引的层级数会越来越大,索引查询也会越来越慢。
对表进行分区可以把数据索引页分到不同的区中,也就是形成了多个B树结构,就减少了树的层级数,而且把不同的数据库文件放到不同的物理磁盘中,提高了IO性能,使大数据量的查询更快
相关文章推荐
- 最近总结关于找iOS的工作的体会,大家可以补充
- 有关英语学习的一点体会(原创)-----欢迎大家拍砖
- 关于SQL SERVER的一些安全问题(仅供大家学习,切勿攻击破坏)
- 最近关于编程学习的一点小体会
- 最近学习android,关于这个分辨率,有点烦
- 开始写关于2.0的学习体会了
- 一位博友关于awk学习注意的地方,贴出来与大家分享一下。
- 关于最近学习AJAX一些感受
- 最近项目上没有很忙的事情,想利用这段时间来写写这几年来在项目开发上的一些心得体会,乐于跟大家分享
- 关于framebuffer这几天学习的一点心得体会和疑惑
- 一些关于目标追踪的学习体会
- 关于C++内存分区的学习
- 最近关于mvc,xml,事物的学习笔记
- 关于android学习的最近总结-2
- 关于新手学习心态的体会:聚焦
- 关于embedded linux的使用、开发、学习的一点自已的体会
- 关于学习新语言新技术的一点体会
- 关于PHP接口的学习体会和学习总结
- 看了水兄的关于字符串处理的2005方法,很好,就是没看懂,最后把相关知识帖了,放进我的博客里,供自己和大家学习。