Forum

Sql server 2008 'de...
 
Bildirimler
Hepsini Temizle

Sql server 2008 'de table partitions yapma nasıl oluyor.

10 Yazılar
4 Üyeler
0 Reactions
725 Görüntüleme
(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

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.

 

 
Gönderildi : 04/01/2011 17:38

(@ismailadar)
Gönderiler: 134
Estimable Member
 

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. 

 
Gönderildi : 04/01/2011 19:53

(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

Anladım ama yapamıyorum.UNIT_NO kısmını partitions nasıl yapabilirim.

 
Gönderildi : 05/01/2011 01:34

(@ismailadar)
Gönderiler: 134
Estimable Member
 

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

 
Gönderildi : 05/01/2011 12:43

(@turgaysahtiyan)
Gönderiler: 344
Reputable Member
 

şurada baya detaylı anlatılmış. İncelemeni tavsiye ederim.


http://www.mssqltips.com/tip.asp?tip=1796

 
Gönderildi : 06/01/2011 13:42

(@mehmetguzel)
Gönderiler: 116
Estimable Member
 

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.

 
Gönderildi : 07/01/2011 00:44

(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

Partitions yaptıktan sonra herhangi bir yazılım değişikliğine gerek var mıdır?

 
Gönderildi : 08/01/2011 03:09

(@ismailadar)
Gönderiler: 134
Estimable Member
 

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

 
Gönderildi : 09/01/2011 01:07

(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

İçi data olan tableda partions nasıl yapabilirim.

 
Gönderildi : 20/01/2011 17:11

(@mehmetguzel)
Gönderiler: 116
Estimable Member
 

Clustered indexi partition üzerinde online oluşturarak tüm datayı partition a taşıyabilirsiniz.

 
Gönderildi : 21/01/2011 00:29

Paylaş: