none
Particionar tabla - Primary Key RRS feed

  • Pregunta

  • Hola,

    Estoy viendo varias formas de particionar una tabla que tiene muchos datos y no se cual es la mejor opción respecto a la primary key, tengo dudas si seria conveniente modificarla y añadir ahi el campo por el cual se particiona o crear directamente otro indice el cual particione por otro campo.

    Genere el script desde el manager SQL y me creo esto:
    Me genera varias dudas, lo que hace es lo siguiente:
    - Borra la primary key
    - Crea el indice CLustered por el que va a particionar
    - Vuelve a crear la un indice en este caso Unico por los campos que antes era la primary, (ahora ya no es clustered)

    - Y finalmente borra el indice que uso para la particion.

    Por lo que veo la tabla funciona correctamente a nivel de particionado pero yo no puedo mantener la primary key tal y como estaba antes?

    USE [AdventureWorksDW2016_EXT]
    GO
    
    CREATE PARTITION FUNCTION [FunParticion](datetime) AS RANGE LEFT FOR VALUES (N'2010-01-01T00:00:00')
    
    
    CREATE PARTITION SCHEME [EsquemaParticion] AS PARTITION [FunParticion] TO ([PRIMARY], [FG_Historico])
    
    
    ALTER TABLE [dbo].[FactResellerSales] DROP CONSTRAINT [PK_FactResellerSales_SalesOrderNumber_SalesOrderLineNumber] WITH ( ONLINE = OFF )
    
    
    ALTER TABLE [dbo].[FactResellerSales] ADD  CONSTRAINT [PK_FactResellerSales_SalesOrderNumber_SalesOrderLineNumber] PRIMARY KEY NONCLUSTERED 
    (
    	[SalesOrderNumber] ASC,
    	[SalesOrderLineNumber] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
    
    
    CREATE CLUSTERED INDEX [ClusteredIndex_on_EsquemaParticion_637483780097144640] ON [dbo].[FactResellerSales]
    (
    	[DueDate]
    )WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [EsquemaParticion]([DueDate])
    
    
    DROP INDEX [ClusteredIndex_on_EsquemaParticion_637483780097144640] ON [dbo].[FactResellerSales]
    
    Muchas gracias
    Un saludo


    • Editado cheredia79 martes, 9 de febrero de 2021 15:48
    lunes, 8 de febrero de 2021 11:48