Sıralama: Administration
Gruplar: Administrators
Katılan: 6.05.2014(UTC) Mesajlar: 670
19 Kere Teşekkür Etti. 152 Mesajına Toplam 253 Kere Teşekkür Edildi.
|
Büyük Boyutlu Çalışma Tablosu Oluşturma Herkesin yakındığı bir sorundur acaba sql de yazdığım sorgularımın performansı nasıldır diye. Malumunuz performansı ölçmek için kayıt sayısı çok olan tablolar gerekmektedir. Bizde burada size büyük kayıtılar oluşturan anlaşılması kolay bir adet script oluşturdum. Öncelikle tablomuzu oluşturalım Kod:
CREATE TABLE [dbo].[Ambar](
[id] [bigint] IDENTITY(1,1) NOT NULL,
[ay] [int] NULL,
[gun] [int] NULL,
[yil] [int] NULL,
[kolon1] [varchar](50) NULL,
[kolon2] [varchar](50) NULL,
[kolon3] [varchar](50) NULL,
[kolon4] [varchar](50) NULL,
[kolon5] [varchar](50) NULL,
[kolon6] [varchar](50) NULL,
[kolon7] [varchar](50) NULL,
[kolon8] [varchar](50) NULL,
[kolon9] [varchar](50) NULL,
[kolon10] [varchar](50) NULL,
CONSTRAINT [PK_Ambar] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Tablomuzu oluşturduktan sonra sıra bu tablomuzu dolduracak olan scripti yazmaya geldi, Scripti istediğimiz gibi tablomuza göre değiştirebiliriz, Kod:
DECLARE
@DonguSayisi INT = 1,
@Yil INT = 2006,
@Ay INT = 1,
@Gun INT = 1,
@Deger VARCHAR(5) = 'AAAAAAADADSASDA ADS AFD AFS G GH ERWG SAAAA AAAAAAAAAAA AAAAAAAAAAAA AAAAAAAAAAAAAAAA'
WHILE(@DonguSayisi < 10001)
BEGIN
WHILE(@Ay < 13)
BEGIN
WHILE(@Gun < 31)
BEGIN
INSERT INTO Ambar (gun,ay,yil,kolon1,kolon2,kolon3,kolon4,kolon5,kolon6,kolon7,kolon8,kolon9,kolon10) VALUES
(@Gun,@Ay,@Yil,@Deger,@Deger,@Deger,@Deger,@Deger,@Deger,@Deger,@Deger,@Deger,@Deger)
SET @Gun=@Gun+1
END
SET@Ay += 1
SET @Gun= 1
END
SET @DonguSayisi += 1
SET @Ay = 1
END
Bu her ayın her gunu için 10000 kez dönüyor, her yılda 3.6 milyon kayıt oluşturuyor, Bu sayede yılı artırarak istediğiniz büyüklükte bir adet tablo oluşturabilirsiniz. |
Sql Server 2016 Eğitimiz 19 Mayıs tarihinde başlayacaktır. 32 Saat Olup Ücret 1450 TL + KDV'dir. Kayıt ve ayrıntılar için tıklayınıztwitter.com/dbakademi Dua ve teşekkür en büyük servetlere bedel... |