zoukankan      html  css  js  c++  java
  • sql server分区


    1. 创建分区

    分区步骤:1.创建分区函数  2.创建分区架构 3.创建分区索引(聚集)


    --1. 创建分区函数
    DECLARE @dt datetime
    SET @dt = '20030901'
    CREATE PARTITION FUNCTION PF_History(datetime)
    AS RANGE RIGHT
    FOR VALUES(
        @dt,
        DATEADD(Month, 1, @dt), DATEADD(Month, 2, @dt), DATEADD(Month, 3, @dt),
        DATEADD(Month, 4, @dt), DATEADD(Month, 5, @dt), DATEADD(Month, 6, @dt),
        DATEADD(Month, 7, @dt), DATEADD(Month, 8, @dt), DATEADD(Month, 9, @dt),
        DATEADD(Month, 10, @dt), DATEADD(Month, 11, @dt), DATEADD(Month, 12, @dt))
    GO
    --2. 创建分区架构
    CREATE PARTITION SCHEME PS_History
    AS PARTITION PF_History
    TO([PRIMARY], [PRIMARY],
        [PRIMARY], [PRIMARY], [PRIMARY],
        [PRIMARY], [PRIMARY], [PRIMARY],
        [PRIMARY], [PRIMARY], [PRIMARY],
        [PRIMARY], [PRIMARY], [PRIMARY])
    GO

    --3. 创建分区索引(聚集)
    ----- 1) 删除现有的聚集索引
    ----- 2) 创建分区聚集索引
    CREATE CLUSTERED INDEX CT_Sale ON Sale([SaleTime])
    ON 分区方案名([SaleTime]) 

    查询语句

    --查询

    --查询数据所在的分区
    select $PARTITION.PF_T_SERVICE_LOG('2000-06-30 17:13:57.883') AS 分区编号
    --统计所有分区表中的记录总数   
    select $PARTITION.PF_T_SERVICE_LOG(tm) as 分区编号,count(id) as 记录数 from T_SERVICE_LOG group by $PARTITION.PF_T_SERVICE_LOG(tm)
    --查询指定分区编号下的记录
    select * from T_SERVICE_LOG where $PARTITION.PF_T_SERVICE_LOG(tm)=2

    资料: http://blog.csdn.net/smallfools/article/details/4934119

    ** 将已分区表转换成普通表: http://blog.csdn.net/smallfools/article/details/5004100

     

    动态生成分区脚本: http://www.cnblogs.com/gaizai/archive/2011/01/14/1935579.html

    http://www.cnblogs.com/knowledgesea/p/3696912.html

  • 相关阅读:
    天生我材必有用?
    峨眉山徒步之行
    S3C6410 GPIO操作接口
    工作
    奖金
    吝啬的地主
    聪明的小李
    地铁重组
    灵魂分流药剂
    摆渡线路
  • 原文地址:https://www.cnblogs.com/chencidi/p/7094261.html
Copyright © 2011-2022 走看看