zoukankan      html  css  js  c++  java
  • Sql Server 2005 实现Oracle 10g的rangelist/range等组合分区功能

     Sql Server 2005有分区功能,但Oracle已经有了组合分区功能,sql server 2005如何实现,能实现吗?

         Oracle 10g中,有rang-list/hash分区,在SQL server 2005中可以实现Rangelist,可以和oracle一样实现复合分区。

       在上一次优化中,客户使用的是SQL server 2005的标准版,由于标准版没有提供分区功能,后来使用了分区视图来实现分区功能。

     这给我实现Oracle 10g的复合分区功能,有了一个另类实现。我们可以通过分区视图-分区来实现复合分区功能。和Oracle一样,提供给前台的都是一个表,都是透明的

     

    现在我们看具体实例:

    分区函数

    CREATE PARTITION FUNCTION [zping.com.PF](int) AS RANGE LEFT FOR VALUES (-100, 0, 100)

    分区方案

    CREATE PARTITION SCHEME [zping.com.Ps] AS PARTITION [zping.com.PF] TO ([PRIMARY], [PRIMARY], [PRIMARY], [PRIMARY])

    分区表1

    CREATE TABLE [dbo].[zping.com1](

        [id] [varchar](32) NOT NULL,

        [typeid] int not null,--第一个分区列

        [secondTypeId] [int] NULL, --第二个分区列

        [name] varchar(10)

     CONSTRAINT [PK_zping.com1] PRIMARY KEY NONCLUSTERED

     (

        [id] ASC,

        [typeid] ASC

     )

    ) ON [zping.com.Ps] ([secondTypeId])

    ALTER TABLE [dbo].[zping.com1] WITH

    CHECK ADD CONSTRAINT [CK_zping.com1] CHECK (([typeid]>=(1)))

    分区表2

    CREATE TABLE [dbo].[zping.com2](

        [id] [varchar](32) NOT NULL,

        [typeid] int not null,--第一个分区列

        [secondTypeId] [int] NULL, --第二个分区列

        [name] varchar(10)

     CONSTRAINT [PK_zping.com2] PRIMARY KEY NONCLUSTERED

     (

        [id] ASC,

        [typeid] ASC

     )

    ) ON [zping.com.Ps] ([secondTypeId])

    ALTER TABLE [dbo].[zping.com2] WITH

    CHECK ADD CONSTRAINT [CK_zping.com2] CHECK (([typeid]<(1)))

     

    建立分区视图

    create view [zping.com]

    as

    select * from dbo.[zping.com1]

    union all

    select * from dbo.[zping.com2]

     这里分区视图:实现了typeid1的范围分区。对于程序员来说,前台表是透明的为[zping.com]

     

     利用这种方式分区:可以灵活使用分区列,分区列不在是2个,可以是3个。可以实现多种类型的分区功能,具体大家可以自己下去研究

  • 相关阅读:
    Mybatis 传入的参数为List
    IDEA 自动清除不使用的 引用包
    java List去除重复数据
    oracle 导出数据库报错 EXP-00002: 写入导出文件时出错 EXP-00000: 导出终止失败
    Tomcat修改窗口名
    Oracle忘记密码找回
    3springboot执行原理及自动装配原理
    2springboot第一个程序
    springboot项目有红叉,但是没有运行没有报错。
    1springboot与微服务
  • 原文地址:https://www.cnblogs.com/zping/p/1286878.html
Copyright © 2011-2022 走看看