zoukankan      html  css  js  c++  java
  • sql2005分区表示例

    SQL2005分区表可以在一定程度上解决海量数据的性能问题,比如可以规避高访问量数据区段的io竞争,可以缩小你查询数据范围的索引大小。 msdn参考

    http://msdn.microsoft.com/zh-cn/library/ms345146.aspx 一个完整的脚本示例

    --drop database dbPartitionTest   
      
    --测试数据库     
      
    create database dbPartitionTest   
      
    go   
      
      
      
    use    
      
    dbPartitionTest   
      
    go   
      
      
      
    --增加分组   
      
    alter database dbPartitionTest ADD FILEGROUP P200801   
      
    alter database dbPartitionTest ADD FILEGROUP P200802   
      
    alter database dbPartitionTest ADD FILEGROUP P200803   
      
    go   
      
    --分区函数   
      
    CREATE PARTITION FUNCTION part_Year(datetime)   
      
     
    AS RANGE LEFT FOR VALUES    
      
    (    
      
    '20080131 23:59:59.997','20080229 23:59:59.997','20080331 23:59:59.997'  
      
    )    
      
    go   
      
    --增加文件组   
      
    ALTER DATABASE dbPartitionTest ADD FILE (NAME = N'P200801',FILENAME = N'c:\tb_P200801.ndf',SIZE = 1MB,MAXSIZE = 500MB,FILEGROWTH = 1MB)TO FILEGROUP P200801   
      
    ALTER DATABASE dbPartitionTest ADD FILE (NAME = N'P200802',FILENAME = N'c:\tb_P200802.ndf',SIZE = 1MB,MAXSIZE = 500MB,FILEGROWTH = 1MB)TO FILEGROUP P200802   
      
    ALTER DATABASE dbPartitionTest ADD FILE (NAME = N'P200803',FILENAME = N'c:\tb_P200803.ndf',SIZE = 1MB,MAXSIZE = 500MB,FILEGROWTH = 1MB)TO FILEGROUP P200803   
      
    go   
      
    --分区架构   
      
    CREATE PARTITION SCHEME part_YearScheme  AS PARTITION part_Year   TO (P200801,P200802,P200803,[PRIMARY])   
      
    go   
      
      
      
    CREATE TABLE [dbo].t_part     
      
    (name 
    varchar(100default newid(),date datetime NOT NULL)   
      
    ON part_YearScheme (date)   
      
    go   
      
      
      
    --添加测试数据,每天1条   
      
    declare @date datetime   
      
    set @date='2007-12-31'  
      
    while @date<='2008-04-01'  
      
    begin   
      
        
    insert into t_part(date)values(@date)   
      
        
    set @date=@date+1  
      
    end   
      
    go   
      
    --查询数据分布在哪些分区   
      
    select $partition.part_Year(date) as 分区编号,* from t_part  order by date     
      
    --查询数据库文件   
      
    go   
      
    sp_helpfile  
  • 相关阅读:
    php switch case的"bug"
    win7 安装redis服务
    linux 查看网卡以及开启网卡
    getSelection、range 对象属性,方法理解,解释
    关于window.getSelection
    富文本原理
    elasticsearch启动常见错误
    Linux 修改用户密码
    centos修改主机名的正确方法
    Dockerfile介绍
  • 原文地址:https://www.cnblogs.com/linyechengwei/p/1684832.html
Copyright © 2011-2022 走看看