sql 分区代码
2011-02-26 00:07
260 查看
if exists (select * from sys.databases where name = 'test_1')
drop database test_1
go
create database test_1 on primary
( NAME = N'test_1', FILENAME = N'g:/sqltest/fenqv/test_1.mdf' , SIZE = 10240KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ),
filegroup [test_a]
(name = N'test_a',filename= N'g:/sqltest/fenqv/test_a.ndf',size = 1024kb,maxsize = unlimited,filegrowth = 1024kb),
filegroup [test_b]
(name = N'test_b',filename = N'g:/sqltest/fenqv/test_b.ndf',size = 1024kb,maxsize = unlimited,filegrowth=1024kb)
log on
(name = N'test_log',filename = N'g:/sqltest/fenqv/test_log.ldf',size = 5000kb,maxsize = 5gb,filegrowth=10%)
USE test_1
GO
--检查是否存在分区函数 在则删除
if exists(select * from sys.partition_functions where name = N'test_partition')
drop partition function [test_partition]
go
--创建分区函数
create partition function test_partition(int)
as
range left for values(1000)
go
/**//*看分区方案是否存在,若存在先drop掉*/
if exists (select * from sys.partition_schemes where name = N'test_scheme')
drop partition scheme test_scheme
go
--创建分区方案,分区方案需要指定一个分区函数,并指定在分区函数中分的区需要放在哪一个文件组上
create partition SCHEME test_scheme
as
partition test_partition to (test_a,test_b)
go
--创建分区表
if exists (select * from sys.objects where name = N'student')
drop table student
go
create table student
(
id int identity(1,1) not null,
name varchar(10) not null,
class int not null,
grade int
)on test_scheme(class)
--随便插入几条数据
insert into student values ('AQU',10,100); -- 这条数据在A分区上
insert into student values ('AQU_边界',1000,89); -- 这边数据也在A分区上是个边界,因为我们上面在函数中指定的是RANGE LEFT,所以1000在A分区上
insert into student values ('BQU',1001,90); -- 这一条肯定是在B分区上了。
--最后看看结果。$partition.分区函数(分区列)可以返回某一行所在的分区序号
select *,分区序号 = $partition.test_partition(class) from student
GO
以上代码直接复制过去,查询编辑器了,直接执行即可
drop database test_1
go
create database test_1 on primary
( NAME = N'test_1', FILENAME = N'g:/sqltest/fenqv/test_1.mdf' , SIZE = 10240KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ),
filegroup [test_a]
(name = N'test_a',filename= N'g:/sqltest/fenqv/test_a.ndf',size = 1024kb,maxsize = unlimited,filegrowth = 1024kb),
filegroup [test_b]
(name = N'test_b',filename = N'g:/sqltest/fenqv/test_b.ndf',size = 1024kb,maxsize = unlimited,filegrowth=1024kb)
log on
(name = N'test_log',filename = N'g:/sqltest/fenqv/test_log.ldf',size = 5000kb,maxsize = 5gb,filegrowth=10%)
USE test_1
GO
--检查是否存在分区函数 在则删除
if exists(select * from sys.partition_functions where name = N'test_partition')
drop partition function [test_partition]
go
--创建分区函数
create partition function test_partition(int)
as
range left for values(1000)
go
/**//*看分区方案是否存在,若存在先drop掉*/
if exists (select * from sys.partition_schemes where name = N'test_scheme')
drop partition scheme test_scheme
go
--创建分区方案,分区方案需要指定一个分区函数,并指定在分区函数中分的区需要放在哪一个文件组上
create partition SCHEME test_scheme
as
partition test_partition to (test_a,test_b)
go
--创建分区表
if exists (select * from sys.objects where name = N'student')
drop table student
go
create table student
(
id int identity(1,1) not null,
name varchar(10) not null,
class int not null,
grade int
)on test_scheme(class)
--随便插入几条数据
insert into student values ('AQU',10,100); -- 这条数据在A分区上
insert into student values ('AQU_边界',1000,89); -- 这边数据也在A分区上是个边界,因为我们上面在函数中指定的是RANGE LEFT,所以1000在A分区上
insert into student values ('BQU',1001,90); -- 这一条肯定是在B分区上了。
--最后看看结果。$partition.分区函数(分区列)可以返回某一行所在的分区序号
select *,分区序号 = $partition.test_partition(class) from student
GO
以上代码直接复制过去,查询编辑器了,直接执行即可
相关文章推荐
- HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令
- JAVA+Swing +sql 分页代码
- NHibernate代码解析 - SqlCommand - SqlBuilder Template StringTokenizer
- [代码实例][C语言][sqlite3]用SQL语句查询数据库的实例
- 用友U8按BOM计算销售订单物料需求SQL代码 第一稿
- mysql 查询指定日期时间内sql语句实现原理与代码
- 一个用vbs查找硬盘所有分区中的指定程序的代码
- SqlServer 数据库 分离复制备份然后附加回数据库 sql代码
- SQL 数据库开发一些精典的代码
- 我的代码生成器生成的样本代码(t-sql)
- SQL(MSSQLSERVER)服务启动错误代码3414的解决方法
- 第七节 sql建库代码模块
- 勇敢者论坛完整源代码(asp.net c# SQL 2000)发布--asp.net开源论坛代码
- MS SQL Server:分区表、分区索引详解
- SQL逆向工程生成代码 2种方法可以根据Id 取到 Item对象
- [代码整理]今天抽空整理了一些java.sql的例子,有兴趣的可以去看看
- 8.Benchmark SQL 数据库测试工具代码——会话类
- 让PHP代码更危险----使用别的系统命令--如sql语句--exec(),system()方法甚至html的js语句
- MS SQL SERVER 分区表和分区索引(转)