学习SQL SERVER关于表的分区体会

2016-02-19 19:37 0 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的学习SQL SERVER关于表的分区体会懂设计的网友们快点来了解吧!

【 tulaoshi.com - 编程语言 】

  创建带分区的数据表步骤:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  1,建立数据库里指定文件组FILEGROUP[分区文件名](NAME=‘’,FILENAME=‘’,SIZE=,MAXSIZE=,FILEGROWTH=)

  2,创建分区表函数,可以理解为一个规则。CREATE PARTITION FUNCTION[函数名](用来分区的字段的类型)AS RANGE LEFT FOR VALUES(范围值)

  3,创建分区架构,即将分区函数应用到分区文件组里面去CREATE PARTITION SCHEME[架构名] AS PARTITION [分区函数名] TO(分区文件名,分区文件名,分区文件名,分区文件名);

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  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性能,使大数据量的查询更快

来源:https://www.tulaoshi.com/n/20160219/1621430.html

延伸阅读
显示某个Sql Server某个数据库中所有表或视图的信息 sql server 2000 与 2005 不同 差别在于 红色字部分 以下语句为获取所有表信息,替换绿色黑体字"U"为"V"为获取所有视图信息。 Sql Server 2000 版本 SELECT Sysobjects.name AS TABLE_NAME, syscolumns.Id, syscolumns.name AS COLUMN_NAME, systypes.name AS DATA_TYPE, syscolumns.le...
简 介 MS的SQL Server主要是由五种常常用到的字段,字符型,文本型,数值型,逻辑型,和日期型!许多朋友苦于在一些BBS中ACCESS转换成SQL后字段类型不匹配而不知所措,下面我们就来介绍一些这五种数据类型各自的特性吧! 正 文 <1>字符型数据Varchar,Char型 程序当中当大家需要存储比较短的字符串信息时我们就要用...
显示某个Sql Server某个数据库中所有表或视图的信息 sql server 2000 与 2005 不同 差别在于 红色字部分 以下语句为获取所有表信息,替换绿色黑体字"U"为"V"为获取所有视图信息。 Sql Server 2000 版本 SELECT Sysobjects.name AS TABLE_NAME, syscolumns.Id, syscolumns.name AS COLUMN_NAME, systypes.name AS DATA_TYPE, syscolumns.le...
标签: Web开发
通过ADO可以访问SQL SERVER,并执行相应的SQL语句建库、建表,下面是SQL SERVER BOOKS ONLINE中的相关定义。     建表:   CREATE TABLE   [       database_name.[owner].       | owner. &n...
标签: SQLServer
SQL Server中包含了几个可以访问系统注册表的扩展存储过程.但实际上这几个扩展存储过程是未公开的,从sql server 7.0就有了, 在SQL server 2000中仍然保留,他们以后可能会删除.但是这几个存储过程却提供了在当前的SQL Server版本中访问系统注册表的能力, 而且很多人利用SQL Server来进行攻击系统时,往往都会用到这几个扩展存储过程.所以最好...

经验教程

675

收藏

67
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部