SQL Server 2005分区表几何倍数提高网站性能

数据库 SQL Server 数据库运维
项目做到后期了,发现数据到数据在不断增长,现在是1000w多条,估计以后数据还会增加,可是现在数据库到索引也加了,在数据库做一个大大查询时,前台web会超时,很郁闷,怎么办呢。解决问题还是靠SQL Server 2005的新特性 :表分区功能。

表分区功能,相当于把一张表大数据无限极细化到多张表上,多个驱动上,但是访问时却还是一样的访问,因为 其实本身并未新建任何表,并且它还可以访问其他服务器以提高速度

好了,废话不谈了,下面的步骤 依次跟着来:

 1.为数据库新建多个文件组,可分布于不同大磁盘上

  1. ALTER DATABASE [D]   
  2. ADD FILEGROUP [GF1] 

2.一个文件组可放置多个文件,下面,只为一个文件组分配一个文件

  1. ALTER DATABASE [D] ADD FILE ( NAME = N'GF1'FILENAME = N'E:\D\D1\DGF1.ndf' , SIZE = 5MB , FILEGROWTH = 10% )  
  2.  TO FILEGROUP [GF1] 

3.创建分区函数

  1. CREATE PARTITION FUNCTION [D_PARTITIONFUNC] (int)   
  2.         AS RANGE LEFT FOR VALUES (200000,400000,500000) 

4.将分区函数绑定到分区架构上

  1. CREATE PARTITION SCHEME [D_PARTITION_SHEME]  
  2. AS PARTITION [D_PARTITIONFUNC]  
  3. TO ([PRIMARY],[GF1],[PRIMARY],[GF1]) 

注意primary表示主文件组,既是数据库建立大时候默认的

5.删除主键

  1. ALTER TABLE dbo.B DROP CONSTRAINT [PK_B] 

上一步可以不做,不过我个人推荐,因为分区键(分区函数的参数)必须建立在主键上

6.开始对表分区

  1. ALTER TABLE  dbo.B add CONSTRAINT [PK_B] PRIMARY KEY CLUSTERED (ID)  
  2. ON [D_PARTITION_SHEME](ID) 

OK,完成

B表中主键ID,好了

现在即使是几百G的数据也不会有问题了

【编辑推荐】

  1. SQL Server 2008中位置智能应用程序可扩展性
  2. SQL Server 2008中使用空间数据实现位置智能
  3. SQL Server数据库优化经验总结
  4. 浅谈Netbeans 6.5连接SQL Server 2008方法
  5. 使用SQL Server 2008进行优化性能
责任编辑:彭凡 来源: cnblogs
相关推荐

2017-09-11 19:07:00

MySQLMySQL 5.7分区表

2011-07-20 16:03:06

SQL Server数分区表

2010-07-19 11:01:55

SQL Server

2010-07-16 11:30:06

SQL Server

2010-07-13 12:26:49

SQL Server

2011-07-06 13:09:11

SQL Server

2011-04-18 10:13:15

SQL Server 自动化表分区

2023-10-11 13:42:21

2021-04-19 08:16:38

Hive数据类型大数据技术

2011-08-25 18:09:36

SQL Server创建数据仓库已分区表

2010-11-10 14:47:11

SQL Server创

2010-10-21 15:13:20

SQL Server系

2011-09-15 13:24:15

SQL Server性能监视

2010-05-07 13:47:51

SQL Server 负载均衡

2019-03-05 10:16:54

数据分区表SQLserver

2009-06-24 10:26:41

Oracle约束分区表

2021-01-20 08:07:52

oracle分区单表

2017-08-30 16:59:54

PostgreSQL分区表

2015-07-20 17:05:38

SQL ServerNULL值

2010-07-09 15:31:25

SQL Server
点赞
收藏

51CTO技术栈公众号