Forum
Merhaba ,
Sql server veritabanında bir tane table var ve bunun üzerinde yaklaşık olarak 1 milyon kayıt var ve sürekli artmakta .Bu table nasıl partition ayırabilirim.
CREATE TABLE M001KUL
(firm_code NUMERIC(3,0) NOT NULL,
unit_type NCHAR(2) NOT NULL,
unit_no NUMERIC(11,0) NOT NULL,
which_adress NCHAR(1) NOT NULL,
adr_type NCHAR(3) NOT NULL,
adr_data NVARCHAR(250),
valid_date DATETIME,
coming_transfer_date DATETIME,
coming_transfer_code NUMERIC(3,0),
coming_transfer_ok NVARCHAR(1),
transfer_date DATETIME,
transfer_code NUMERIC(3,0),
Bu table FIRM_CODE, UNIT_TYPE, UNIT_NO göre 5 veya 6 PARTITIONS bölmek istiyorum .Nasıl yapabilirim.Performans açısından önemli de.
Merhabalar,
Performans için partion table kullanabilirsiniz ama partion yaparken partion functionda sadece bir kolon kullanabilirsiniz. kolonu sectikten sonra sırayla once partion func sonra partion scheme olusturup sonra bu partion uzerinde tablolar olusturabilirsiniz.
Anladım ama yapamıyorum.UNIT_NO kısmını partitions nasıl yapabilirim.
Merhba unit no kısmını part. functionda range olarak belirtmeniz gerekmektedir. Örneğin
CREATE PARTITION FUNCTION PartitionRangeFunc (INT)
AS RANGE LEFT FOR VALUES (1,2) derseniz şu şekilde partionlara böler.
Partition 1 – unitno<= 1
Partition 2 – unitno > 1 and <= 2
Partition 3 – unitno> 2
şurada baya detaylı anlatılmış. İncelemeni tavsiye ederim.
Partition functionda kullanacağınız alanları indexlerde de kullanmakta yarar var. Ayrıca 1,10 milyon kayıt çok değil.(Partition suz 400 milyon kayıt olan tablolardan iyi performans aldığımız gibi 1.5 milyar kayıt olan tabloları da partition ile iyi performanslar elde ediyoruz)
İyi bir indexleme ile istediğiniz performansı alma şansınız olabilir.
Partitions yaptıktan sonra herhangi bir yazılım değişikliğine gerek var mıdır?
Partitions yaptıktan sonra herhangi bir yazılım değişikliğine gerek var mıdır?
uygualama tarafında hiç bir değişlik yapmanıza gerek yok işlemleriniz yine tek tablo üzerinde olacak fakat istediğiniz zaman partition fuct merge veya split ederek yeni partion ekleyebilir veya cıkarabilirsiniz. ayrıca şu makeleyide okumanızı tavsiye ederim
İçi data olan tableda partions nasıl yapabilirim.
Clustered indexi partition üzerinde online oluşturarak tüm datayı partition a taşıyabilirsiniz.