SQL SERVER性能优化 分区表
本文演示了 SQL Server 2008 分区表实例;
1. 创建测试数据库 ;
2. 创建分区函数;
3. 创建分区架构;
4. 创建分区表;
5. 创建分区索引 ;
6. 分区切换 ;
7. 查询哪些表使用了分区表;
-- 作成者 leno
-- 日期: 2009-06-06 23:50:01.700
-- 创建测试数据库
USE master
GO
IF OBJECT_ID(N'PartitionDataDB') IS NOT NULL
DROP DATABASE PartitionDataDB
GO
CREATE DATABASE PartitionDataDB
ON PRIMARY
(
NAME = N'File_A_H',
FILENAME ='D:\Microsoft\Microsoft SQL Server 2008\MSSQL10.MSSQLSERVER\MSSQL\DATA\PartitionDataDB_AH.mdf'
),
FILEGROUP FileGroup_I_N
(
NAME = N'File_I_N',
FILENAME ='D:\Microsoft\Microsoft SQL Server 2008\MSSQL10.MSSQLSERVER\MSSQL\DATA\PartitionDataDB_IN.mdf'
),
FILEGROUP FileGroup_M_Z
(
NAME = N'File_M_Z',
FILENAME ='D:\Microsoft\Microsoft SQL Server 2008\MSSQL10.MSSQLSERVER\MSSQL\DATA\PartitionDataDB_MZ.mdf'
)
GO
-- 创建分区函数
USE PartitionDataBase;
GO
CREATE PARTITION FUNCTION StaffNameRangePFN(varchar(100))
AS
RANGE LEFT FOR VALUES ('H','M')
GO
-- 创建分区架构
CREATE PARTITION SCHEME StaffNamePScheme
AS
PARTITION StaffNameRangePFN
TO ([PRIMARY], FileGroup_I_N, FileGorup_M_Z)
GO
-- 创建分区表
CREATE TABLE [dbo].[Staff]
(
[StaffName] [varchar](100) NOT NULL
)
ON StaffNamePScheme ([StaffName])
GO
-- 插入测试数据1
INSERT INTO [dbo].[Staff]
SELECT FirstName from AdventureWorks.Person.Contact
-- 查看结果
SELECT
$partition.StaffNameRangePFN(StaffName) AS [Partition Number],
MIN(StaffName) AS [Min StaffName],
MAX(StaffName) AS [Max StaffName],
COUNT(StaffName) AS [Rows In Partition]
from dbo.staff AS o
GROUP BY $partition.StaffNameRangePFN(StaffName)
ORDER BY [Partition Number]
/*
1 Abigail Guy 364
2 Hannah Lynn 241
3 Maggie Yvette 395
*/
-- 插入测试数据2
INSERT INTO [dbo].[Staff]
SELECT AddressLine1 from AdventureWorks.Person.Address
-
相关文档:
分页查询的原理:
这个只能用再Sql2005及以上的版本
DECLARE @pagenum AS INT, @pagesize AS INT
SET @pagenum = 2
SET @pagesize = 3
SELECT *
from (SELECT ROW_NUMBER()&n ......
一、 PL/SQL语言简介
(本讲义之所有程序均调式通过)
首先我们看一个简单之例子,下面这个例子是统计从1至100的总和.
declare
i number:=0; /*声明变量井给初值*/
t number:=1;
error_message exception; /*声明一个出错处理*/
begin
......
下载地址:http://msftdbprodsamples.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=19353
我下载的是SQL2008.AdventureWorks_All_Databases.x86.msi,本不想下载这种安装文件,但脚本文件总是执行出错,原因没具体深究。这种安装文件安装后会创建六个库AdventureWorks、AdventureWorks2008、AdventureWorksDW、Ad ......