particionamiento de tablas e indices en 2005

17/11/2005 - 21:25 por Mauro | Informe spam
Alguien estuvo investigando estas opciones ya?
Veo que no es tan simple como en DB2 por ejemplo, deberian haberlo hecho mas
intuitivo
 

Leer las respuestas

#1 Isaias
18/11/2005 - 00:16 | Informe spam
No entiendo eso de INTUITIVO, pero creo que es muy SENCILLO hacerlo en SQL
Server 2005.

USE AdventureWorks
GO

CREATE TABLE PartitioningDemo.TransactionHistoryStaging
(
TransactionID int NOT NULL,
ProductID int NOT NULL,
ReferenceOrderID int NOT NULL,
ReferenceOrderLineNumber smallint NOT NULL,
TransactionDate datetime NOT NULL DEFAULT (getdate()),
TransactionType nchar(1) NOT NULL,
Quantity int NOT NULL,
ActualCost money NOT NULL,
ModifiedDate datetime NOT NULL DEFAULT (getdate())
)
ON fg1
GO

CREATE CLUSTERED INDEX idx_TranStage
ON PartitioningDemo.TransactionHistoryStaging(TransactionID, TransactionDate)
GO

ALTER TABLE PartitioningDemo.TransactionHistory
SWITCH PARTITION 1
TO PartitioningDemo.TransactionHistoryStaging
GO

SELECT * FROM PartitioningDemo.TransactionHistoryStaging

SELECT DISTINCT partition_number, rows FROM sys.Partitions
WHERE [object_id] = OBJECT_ID('PartitioningDemo.TransactionHistory')

ALTER PARTITION FUNCTION TransactionRangePF1()
MERGE RANGE ('01/01/2004')

SELECT DISTINCT partition_number, rows FROM sys.Partitions
WHERE [object_id] = OBJECT_ID('PartitioningDemo.TransactionHistory')

ALTER PARTITION FUNCTION TransactionRangePF1()
SPLIT RANGE ('01/01/2005')

SELECT DISTINCT partition_number, rows FROM sys.Partitions
WHERE [object_id] = OBJECT_ID('PartitioningDemo.TransactionHistory')

INSERT INTO PartitioningDemo.TransactionHistory
VALUES
(1, 1, 1, '01/01/2005', 'A', 1, 1.00, '01/01/2005')

SELECT DISTINCT partition_number, rows FROM sys.Partitions
WHERE [object_id] = OBJECT_ID('PartitioningDemo.TransactionHistory')

SELECT MIN(TransactionDate) FirstTran,
$Partition.TransactionRangePF1(TransactionDate) PartitionNo
FROM PartitioningDemo.TransactionHistory
GROUP BY $Partition.TransactionRangePF1(TransactionDate)
ORDER BY PartitionNo

Saludos
IIslas


"Mauro" escribió:

Alguien estuvo investigando estas opciones ya?
Veo que no es tan simple como en DB2 por ejemplo, deberian haberlo hecho mas
intuitivo



Preguntas similares