SQL server 2005基于已存在的表创建分区
< type="text/javascript">
< type="text/javascript">
如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/11/07/4783702.aspx
随着当今数据库的容量越来越快的朝着在大型数据库或超大型数据库的发展,对于数据库中的大型表以及具有各种访问模式的表的可伸缩性和可管理性运行环境变得
尤为重要,SQL server从SQL server 7.0的分区视图到SQL server 2000中的分区视图中到SQL server
2005所使用的分区表,不断改善大型表所面临的性能、阻塞、备份空间、时间、运营成本等。当表和索引非常大的时候,通过分区表的实现,可以将数据分为更
小,更易于管理,获得更好的可操作性能。本实验介绍基于已存在的表来如何创建分区,管理分区。
一、实验目的:对于已经存在的表且不断增大的情况下构建分区表,管理分区表,提高其性能。
二、主要步骤:对于已经存在的表,我们可以采取以下步骤来对其创建分区表
1.创建分区函数
2.创建分区架构并关联到分区函数
3.删除已经存在的聚集索引
4.基于分区架构重建聚集索引
三、实验环境:
1. windows xp pro (英文版) + sp2
2. SQL server 2005 Developer + sp3
3.实验数据库Performance,此数据库参照实验二:SQL server 2005高可用性之----数据库镜像
中的生成脚本生成数据库,本实验对其数据库的存放做了调整,将数据和日志文件存放在D:\SQL_Data\Performance目录下。
4.对已存在要创建的分区表为:Performance数据库下的Orders表.
5.对Orders表中的orderdate列按年进行水平分区
四、具体试验步骤:
1.创建分区函数
确定分区的数目及分区的列,列的数据类型。本例将Orders表的orderdate按年份水平分五个区,则需要定义四个边界点值。如下,
use Performance;
go
Create partition function
Part_func_orders(datetime) as
range left
for values('20021231 23:59:59.997',
'20031231 23:59:59.997',
&nb
相关文档:
在进行操作之前,建议备份好注册表以及重要的数据库文件。
(1) 删除以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Microsoft SQL Server
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer
HKEY_LOCAL_MACHINE\SYSTEM\CurrentC ......
表中主键必须为标识列,[ID] int IDENTITY (1,1)
1.分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECT TOP 页记录数量 *
from 表名
WHERE (ID NOT IN
(SELECT TOP (每页行数*(页数-1)) ID
from 表名
ORDER BY ID))
ORDER BY ID
//自己还可以加上一些查询条件
例:
sele ......
SQL语句的添加、删除、修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来?
添加、删除、修改使用db.Execute(Sql)命令执行操作
╔----------------╗
☆ 数据记录筛选 ☆
╚----------------╝
注意:单双引号的用法可能有误(没有测式)
Sql = "S ......
原文地址:http://topic.csdn.net/u/20100203/17
/8F916471-597D-481A-B170-83BCEFE3B199.html
============================我是分割
符================================
应一个朋友的要求,贴上收藏的SQL常用分页的办法~~
表中主键必须为标识列
,[ID] int IDENTITY (1,1)
1.分页方案一:(利用Not In和SELECT ......