W naszej firmie zapisujemy bardzo dużo danych transakcyjnych. Obawiamy się o wydajność naszej bazy danych w przyszłości.
Zatem czy dane archiwalne należy przenosić do osobnych tabel?
W naszej firmie zapisujemy bardzo dużo danych transakcyjnych. Obawiamy się o wydajność naszej bazy danych w przyszłości.
Zatem czy dane archiwalne należy przenosić do osobnych tabel?
CREATE DATABASE [TestPartitionj ON PRIMARY ( NAME = N'TestPartition',FILENAME = N'C:\DATA\TestPartition.mdf' , SIZE = 2046KB , FILEGROWTH = 1024KB ), FILEGROUP [fg1] (NAME = N'f1', FILENAME = N'C:\DATA\f1.ndf' , SIZE = 2048KB , FILEGROWTH = 1024KB ), FILEGROUP [fg2] ( NAME = N'f2', FILENAME = N'C:\DATA\f2.ndf' , SIZE = 2048KB , FILEGROWTH = 1024KB ), FILEGROUP [fg3] (NAME = N'f3', FILENAME = N'C:\DATA\f3.ndf' , SIZE = 2048KB , FILEGROWTH = 1024KB ) LOG ON ( NAME = N'TestPartition log', FILENAME = N'C:\DATA\TestPartition_log.ldf' SIZE = 1024KB, FILEGROWTH = 10%) GODla zwiększego efektywności można wskazać osobne dyski.
CREATE PARTITION FUNCTION MyPF AS RANGE RIGHT FOR VALUES('2008-01-01','2008-02-0l') GO
CREATE PARTITION SCHEME MyPS AS PARTITION MyPF TO (FGl, FG2, FG3)
CREATE TABLE Orders (OrderID INT IDENTITY, OrderDate DATE) ON MyPS (OrderDate)
SELECT OrderId, OrderDate, $PARTITION.MyPF ([OrderDate]) AS [Numer partycji] FROM Orders
SELECT * FROM sys.partition_schemes
Polecam webinarium na temat partycjonowania tabel w SQL Serer 2012 prowadzę przez Maćka Szymańskiego: