Anasayfa » Forum

Sql server 2008 'de...
 
Bildirimler

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

  RSS
 Anonim

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.

 

Alıntı
Gönderildi : 04/01/2011 16:38
İsmail ADAR
(@ismailadar)
Üye

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. 

CevapAlıntı
Gönderildi : 04/01/2011 18:53
 Anonim

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

CevapAlıntı
Gönderildi : 05/01/2011 00:34
İsmail ADAR
(@ismailadar)
Üye

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

CevapAlıntı
Gönderildi : 05/01/2011 11:43
Turgay Sahtiyan
(@turgaysahtiyan)
Üye

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


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

CevapAlıntı
Gönderildi : 06/01/2011 12:42
Mehmet GÜZEL
(@mehmetguzel)
Üye

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.

CevapAlıntı
Gönderildi : 06/01/2011 23:44
 Anonim

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

CevapAlıntı
Gönderildi : 08/01/2011 02:09
İsmail ADAR
(@ismailadar)
Üye

[quote user="mack663"]Partitions yaptıktan sonra herhangi bir yazılım değişikliğine gerek var mıdır?[/quote]


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

CevapAlıntı
Gönderildi : 09/01/2011 00:07
 Anonim

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

CevapAlıntı
Gönderildi : 20/01/2011 16:11
Mehmet GÜZEL
(@mehmetguzel)
Üye

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

CevapAlıntı
Gönderildi : 20/01/2011 23:29
Paylaş: