MSSQL Index

Indeksleme aslında iki türlüdür. Birisi clustered index diğeri non-clustered indekstir. Clustered index aslında hepimizin bildiği bir tablo içinde birbirinin aynı olmayan verileri sağlamak üzere kullanmış olduğumuz genellikle tabloda ilgili alan için (ilgili tabloya özel) durum için belli bir ID etiketi ile tanımladığımız fiziksel indekslemedir(LogID gibi). Non-Clustered ise daha farklı bir yapıdır. Buradaki amaç verilerin fiziksel olarak sıralaması değil, verilerin tutulduğu yerlerin adreslerini işeretçi niteliğinde tutmaktır.

–Aşağıdaki işlemle Kaç logical read yaptığımı gösteren sistemi açtım.
SET STATISTICS IO ON
— Aşağıdaki  işlemle Kaç Kaç milisaniye geçtiğini gösteren sistemi açtım.
SET STATISTICS TIME ON
--TABLO OLUŞTUR
CREATE TABLE [dbo].[DENEME](
	[Ad] [nvarchar](50) NULL,
	[Soyad] [nvarchar](150) NULL,
	[Baslangic] [datetime] NULL,
	[bitis] [datetime] NULL
) ON [PRIMARY]

--TABLO DOLDUR
DECLARE @i INT
SET @i=0
WHILE(@i<500000)
BEGIN
INSERT INTO DENEME
SELECT Ad='TEST'+CAST(@i AS nvarchar(50)),SoyAd='AALİSD'+CAST(@i AS NVARCHAR(150)),baslangic =dateadd(hour,@i,getdate()), bitis = dateadd(hour,@i+1,getdate())
SET @i=@i+1
END

--Index Yaratma
CREATE CLUSTERED INDEX AdIndex ON DENEME(Ad)
CREATE NONCLUSTERED INDEX AdIndex ON dbo.DENEME(Ad)

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s