使用SQL Server 2008提供的表分区向导
表分区(Partition Table)是自从SQL Server 2005就开始提供的功能,解决的问题是大型表的存储和查询。
我们之前大致的语法是这样的
-- =========================
-- 演示:陈希章
-- 如何创建分区函数
-- 如何创建分区架构
-- 如何创建分区表
--=========================
alter database adventureWorks add filegroup [fg1]
go
alter database adventureWorks add filegroup [fg2]
go
alter database adventureWorks add filegroup [fg3]
go
alter database adventureWorks
add file
(name='fg1',
filename='c:\fg1.ndf',
size=5mb)
to filegroup [fg1]
go
alter database adventureWorks
add file
(name='fg2',
filename='d:\fg2.ndf',
size=5mb)
to filegroup [fg2]
go
alter database adventureWorks
add file
(name='fg3',
filename='e:\fg3.ndf',
size=5mb)
to filegroup [fg3]
go
use adventureWorks
go
Create partition function emailPF(nvarchar(50)) as range right for values ('G','N')--创建分区函数
go
Create partition scheme emailPS as partition emailPF to (fg1,fg2,fg3)--创建分区方案
go
Create table customermail (custid int, email nvarchar(50)) on emailPS(email)--创建分区表
Go
为了简化操作,SQL Server 2008中为表分区提供了相关的操作
这个向导有些诡异,居然希望表里面已经有数据。(费解)
最后生成的脚本是这样的
USE [demo]
GO
BEGIN TRANSACTION
CREATE PARTITION FUNCTION [ordersfunction](date) AS RANGE LEFT FOR VALUES (N'2008-01-01', N'2008-02-01', N'2008-03-01')
CREATE PARTITION SCHEME [ordersscheme] AS PARTITION [ordersfunction] TO ([PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY])
CREATE CLUSTERED INDEX [ClusteredIndex_on_ordersscheme_633765890752500000] ON [dbo].[Orders]
(
[OrderDate]
)WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [ordersscheme]([OrderDate])
DROP INDEX [ClusteredIndex_on_ordersscheme_633765890752500000] ON [dbo].[Orders] WITH ( ONLINE = OFF )
COMMIT TRANSACTION
这里要注意一个语法,因为现在表已经存在了,那么就不能再通过CREATE TABLE的方式来创建分区表了,而是通过创建一个聚集索引的方式。但又把它删除掉。
但是,如果表上面已经有一个聚集索引呢?肯定会出错,因为一个表只能有一个聚集索引。那么该怎么办呢?
我们发现向导会这样做,先把原先的聚集索引改为非聚聚的。这很有点意思嘛
ALTER TABLE [dbo].[Orders] ADD CONSTRAINT [PK_Orders] PRIMARY KEY NONCLUSTERED
(
[OrderId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
除了提供了创建分区的向导之外,还有一个管理分区的向导,主要是可以做SWITCH,MERGE,SPLIT这些操作。也可以查看数据
除了这些图形化工具的支持之外,SQL Server 2008的分区表还有不少增强,诸如性能等等方面
http://technet.microsoft.com/zh-cn/library/ms345599.aspx
转载于:https://www.cnblogs.com/chenxizhang/archive/2009/04/29/1445834.html
使用SQL Server 2008提供的表分区向导相关推荐
- SQL SERVER 2008不能修改表的解决方法(增加字段、修改字段名)(未解决)
SQL SERVER 2008不能修改表的解决方法(增加字段.修改字段名)(未解决) 参考文章: (1)SQL SERVER 2008不能修改表的解决方法(增加字段.修改字段名)(未解决) (2)ht ...
- 如何在SQL Server中自动进行表分区
In this article, we will demonstrate specific ways to automate table partitioning in SQL Server. Thi ...
- SQL Server中的数据库表分区
什么是数据库表分区? (What is a database table partitioning?) Partitioning is the database process where very ...
- SQL Server 2008不能修改表的解决方法
新装的SQL SERVER 2008,打开原来SQL SERVER 2008中建立的表,现在想增加一些字段,在保存时提示错误,无法保存. 刚开始以为是SQL SERVER 2008与2005的不兼容, ...
- sql server 2008学习3 表组织和索引组织
表组织 表包含在一个或多个分区中,每个分区在一个堆或一个聚集索引结构包含数据行.堆页或聚集索引页在一个或多个分配单元中进行管理,具体的分配单元数取决于数据行中的列类型. 聚集表.堆和索引 SQL Se ...
- 在SQL Server 2008中删除表中的记录时出错,该如何解决
我是刚开始学习用C#连接SQL Server数据库,在练习的过程中,不小心在表中添加了几条相同的记录,想要删除时却删除不掉,会出现如下错误: 解决的办法很简单,在SQL Server2008中的SMS ...
- Win 2008 R2安装SQL Server 2008“性能计数器注册表配置单元一致性”失败的解决办法...
今天在惠普服务器上安装数据库2008时,在进行数据库安装检测时总是有一点通不过,提示"性能计数器注册表配置单元一致性失败".以前在其他的服务器上安装都没有碰到过这个问题.开始以为系 ...
- sql server 2008手工修改表结构,表不能保存的问题与解决
工具->选项->设计者(designers)->阻止保存要求重新创建表的修改(Prevent saving changes that require table re-creatio ...
- SQL Server 2008获取一个表的字段,类型,长度,是否主键,是否为空,注释等信息...
SELECT [表名]=case when a.colorder=1 then d.name else '' end, [表说明]=case when a.colorder=1 then isnull ...
最新文章
- 如何用Python实现多任务版的udp聊天器
- java五大原则_Java成长第五集--面向对象设计的五大原则
- java display属性_JavaScript中的style.display属性操作
- 《深度学习入门》实现三层神经网络前向传播
- usb 1-5.2: device not accepting address 4, error -110问题解决方案
- 积跬步-java任职要求
- java调用siri 语言_如何更改Siri的声音,口音,性别和语言
- 印刷体是什么意思_家长晒出4年级小学霸课前笔记,字迹堪比“印刷体”,老师都羡慕...
- python manager模块_Python 并发模块
- python csv修改文件_Python实例:对CSV文件的操作
- powershell自动化操作AD域、Exchange邮箱系列(7)—get-aduser/get-user获取信息 取值方法及区别
- android studio connot resolve
- 技术和技术管理人员评价标准
- java开发面试项目经验
- 快速排序之螺钉螺母匹配
- 计算机桌面的图标都可以删除吗,桌面上图标删除不了怎么回事,电脑桌面的图标删除不了...
- 移动端可以查看的设计APP,推荐给大家
- Python基础:68 个 Python 内置函数详解
- 使用python抓取并分析数据—链家网(requests+BeautifulSoup)(转)
- 58到家数据库30条军规解读
热门文章
- Source Insight经典教程
- vs 窗体连接mysql_vs2008 c#开发windows窗体程序,怎么连接数据库?
- ajax post提交数据_详解Ajax异步加载
- 搜索重复代码_LeetCode专题——详解搜索算法中的搜索策略和剪枝
- GPU Gems2 - 4 分段缓冲(Segment Buffering)
- Python清屏小结
- matlab 多核并行编程
- Linux 和 Vim 常用命令整理
- Mac 下查看网络端口占用情况
- [BZOJ2326] [HNOI2011] 数学作业 (矩阵乘法)