最近项目中,某个表数据量爆发时增长,单表已700w+,读写性能急剧下降,所以考虑加入分区表以解燃眉之急,后续还是要分表分库,当然这是后话。下面简要说一下将普通表转为分区表的步骤。
 
一、创建文件组

打开SQL Server Management Studio,在相关数据库项右键属性,进入数据库属性页,选择文件组选项,添加所要的文件组 
 
二、创建文件
数据库属性页,选择文件选项,添加文件 。
添加文件时,需要选择上一步添加的对应文件组
三、删除普通表中的聚集索引,因为分区表是以某个字段为分区条件,所以,除了这个字段以外不能再存在其他聚集索引的。要想将普通表转换成分区表,就必须要先删除原表中聚集索引,然后再创建一个新的聚集索引,以此聚集索引中创建分区方案
  1. --删掉主键
  2. ALTER TABLE testTab DROP constraint PK_testTab
  3. --创建主键,但不设为聚集索引
  4. ALTER TABLE testTab ADD CONSTRAINT PK_testTab  PRIMARY KEY NONCLUSTERED
  5. (
  6. [ID] ASC
  7. ) ON [PRIMARY]
 
四、创建一个分区函数
 
  1. --创建一个分区函数
  2. CREATE PARTITION FUNCTION part_month_func_range_test(datetime)
  3. AS RANGE RIGHT FOR VALUES (
  4. '2017-7-1 00:00:00',
  5. '2017-8-1 00:00:00',
  6. '2017-8-1 00:00:00',
  7. '2017-9-1 00:00:00',
  8. '2017-10-1 00:00:00',
  9. '2017-11-1 00:00:00',
  10. )
 
五、创建一个分区方案
 
  1. CREATE PARTITION SCHEME partschSale
  2. AS PARTITION part_month_func_range_test
  3. TO (
  4. FC201706,
  5. FC201707,
  6. FC201708,
  7. FC201709,
  8. FC201710,
  9. FC201711,
  10. FC201712
  11. )
 
注意:方案中文件组比函数中要多一个
 
六、按分区方案创建聚集索引

SQL Server单表已700w+将普通表转换成分区表的更多相关文章

  1. SQL Server单表已700w+将普通表转换成分区表1

    最近项目中,某个表数据量爆发时增长,单表已700w+,读写性能急剧下降,所以考虑加入分区表以解燃眉之急,后续还是要分表分库,当然这是后话.下面简要说一下将普通表转为分区表的步骤.   一.创建文件组 ...

  2. sql server单表导入、导出

    sql server单表导入.导出(通过CSV文件) 导出:直接打开查询分析器查询要导出表的信息(select *  from 表),得到的结果全选,右键另存为 xxx.csv文件  (得到该表的所有 ...

  3. 干货 | RDS For SQL Server单库上云

    数据库作为核心数据的重要存储,很多时候都会面临数据迁移的需求,例如:业务从本地迁移上云.数据中心故障需要切换至灾备中心.混合云或多云部署下的数据同步.流量突增导致数据库性能瓶颈需要拆分-- 本文将会一 ...

  4. SQL Server 解读【已分区索引的特殊指导原则】(3) - 非聚集索引分区

    一.前言 在MSDN上看到一篇关于SQL Server 表分区的文档:已分区索引的特殊指导原则,如果你对表分区没有实战经验的话是比较难理解文档里面描述的意思.这里我就里面的一些概念进行讲解,方便大家的 ...

  5. SQL Server 解读【已分区索引的特殊指导原则】(2)- 唯一索引分区

    一.前言 在MSDN上看到一篇关于SQL Server 表分区的文档:已分区索引的特殊指导原则,如果你对表分区没有实战经验的话是比较难理解文档里面描述的意思.这里我就里面的一些概念进行讲解,方便大家的 ...

  6. 【SQL Server复制】数据库复制:修改表结构、新增表、新增存储过程 会被复制到订阅服务器?

    转自:https://www.cnblogs.com/happyday56/p/3849018.html 关键字:sql server复制 [SQL Server高可用性]数据库复制:修改表结构.新增 ...

  7. SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法

    不是很理解为什么在2008中会加入阻止保存要求重新创建表的更改这个选项.症状表现为修改表结构的时候会"阻止"你.而且我遇到的情况是居然有的时候阻止你,有的时候不阻止你,摸不到头脑. ...

  8. SQL Server 2005中的分区表(三):将普通表转换成分区表(转)

    在设计数据库时,经常没有考虑到表分区的问题,往往在数据表承重的负担越来越重时,才会考虑到分区方式,这时,就涉及到如何将普通表转换成分区表的问题了. 那么,如何将一个普通表转换成一个分区表 呢?说到底, ...

  9. 【转】【SQLServer】SQL Server 2008“阻止保存要求重新创建表的更改”

    不是很理解为什么在2008中会加入阻止保存要求重新创建表的更改这个选项.症状表现为修改表结构的时候会"阻止"你.而且我遇到的情况是居然有的时候阻止你,有的时候不阻止你,摸不到头脑. ...

随机推荐

  1. Linux内核源码情景分析-wait()、schedule()

    父进程执行wait4,并调用schedule切换到子进程: wait4(child, NULL, 0, NULL); 像其它系统调用一样.wait4()在内核中的入口是sys_wait4().代码例如 ...

  2. Java类载入器

    1.   系统载入器简单介绍 Java虚拟机中能够安装多个类载入器,系统默认三个主要类载入器(BootStrap.ExtClassLoader.AppClassLoader).每一个类载入器负责载入特 ...

  3. web服务启动spring自己主动运行ApplicationListener的使用方法

    我们知道.一般来说一个项目启动时须要载入或者运行一些特殊的任务来初始化系统.通常的做法就是用servlet去初始化.可是servlet在使用spring bean时不能直接注入,还须要在web.xml ...

  4. JAVA设计模式之【模板方法模式】

    模板方法模式 提高代码的复用性 把常用的基本方法放入父类中 强调一种流程步骤 角色 抽象类 抽象方法 具体方法 钩子方法 空方法 通过bool控制 具体类 看例子 1.银行模板类 package Te ...

  5. Pcap 数据报解析

    最近看了一下网络的书,信息系统也有实验任务,所以就学习了一下pcap包的解析. 主要是对内部以太网帧头,ip头部,tcp头部或者udp头部的解析.我因为用访问google.cn作为的样例,没有udp包 ...

  6. Springboot如何利用http请求控制器

    写好了接口,现在想用postman测试一下这个接口是否正确,想请问怎么传入请求参数?先谢谢了! Springboot如何利用http请求控制器 >> java这个答案描述的挺清楚的:htt ...

  7. Windows 安装PostgreSQL

    下载二进制包:https://www.enterprisedb.com/download-postgresql-binaries 直接解压到C盘 Microsoft Windows [版本 6.3.9 ...

  8. SpringCloud学习笔记(19)----Spring Cloud Netflix之服务网关Zuul自定义过滤器

    zuul不仅只是路由,还可以自定义过滤器来实现服务验证. 实现案例:自定义过滤器,检验头部是否带有token,如果token=wangx,则通过校验,若不存在或不为wangx则返回提示token错误. ...

  9. Servicification

    Servicification Summary The Chromium codebase now supports many platforms and use cases. In response ...

  10. 模拟post提交

    模拟post提交 function post(URL, PARAMS) { var temp = document.createElement("form"); temp.acti ...