DEFINITIONS

Definitions More Info.
Definition ID561
TitleSQL
CategoryNOTES
Definitioncomposite index-birlesik
Definition Description/* BİRLEŞİK (COMPOSİTE) INDEX Bir tabloda istenirse, birden fazla sütunu kapsayan index oluşturulabilir. Buna COMPOSİTE index denir. BİRDEN FAZLA SÜTUNUN, TEK BİR KEY DEĞERİ ALTINDA TOPLANMA İŞLEMİDİR. Mesela Telefon rehberlerinde arama yapılırken, aynı soyadına sahip daha az kişi bulunduğu için, soyadına göre arama yapılır. -- Bizim arma şeklimiz; önce önce aramak istediğimiz kişinin soyadları kısmına bakarak gelişir -- Soyadları bloğuna ulaştıktan sonra ikinci arama kriterimiz; isim bazlı gelişir -- Aradığımız kişiyi bulduktan sonra, artık telefon numarasına erişim işlemimizi tamamlayabiliriz. işte composite ındex bu yapıya çok benzer VE İLK ARAMA KRİTERİNDEN SONRA İKİNCİ KRİTERE GÖRE İSTENİLEN KAYITLAR, HIZLI BİR ŞEKİLDE LİSTELENİR. --Burada index oluştururken YAZMA SIRASI çok önemlidir. İlk önce yazılan; önceliklidir ve ilk olarak o grubu bulur. Ardından diğer sütuna göre arama yapılır. Bunun için; daha az kullanılan kayıtlara ait sütun ilk olarak tercih edilmeli, ardından diğer sütunlar gelmelidir. Dikkat Edilmesi Gereken Hususlar -- Tek bir Composite Index yapısında; en fazla 16 SÜTUN bulunabilir. -- Composite index'i oluşturan tüm sütunlar; aynı tablo içinde olmalıdır. ANCAK VIEW NESENESI ÜZERİNDE OLULTURULACAK İSE FARKLI TABLODAN SÜTUNLAR İÇEREBİLİR. -- Birden çok sütuna; index özelliğine nazaran, aynı Key içinde birden fazla sütun barındıran index'ler daha kullanışlıdır. -- Sorgulama performansını arttırırken, tabloda kullanılacak index sayısını azltır. Not: Aynı sütun için birden fazla index oluşturmak, çok kullanışlı bir yapı değildir. */ Uygulama: /* Aşağıdaki kodu SQL Query Editor içine yazarak, tek bir index yapısı içine iki sütunu koyarak; Composite Index oluşturuyoruz. Burada ilk sütun olarak MUSTERINO ve ikinci sütun olarak MAD sütununu referans alıyoruz. Index türü olarak; CLUSTEREDN INDEX yapısını kullanıyoruz. Bunun anlamı; MUSTERINO altında bulunan kayıtlar, ilk önce küçükten-büyüğe sıralanacak, MUSTERINO bilgileri aynı olan MAD sütunları da kendi aralarında a harfinden z harfine doğru ikinci bir sıralama yapacak. Yani iki grupta da sıralama söz konusu oluyor. */ use yuksel go create unique clustered index cl_musteri on musteri ( musterino, mad ) Sonuç: /* Burada dikkat edilirse; CREATE UNİQUE KUSTUSU DOLU, yani benzersiz bir index oluşturduk. Ancak 101 ve 102 nolu kayıtlar mükerrer olmasına rağmen hata vermedi. Sebep: Bu kontrol artık iki sütuna göre yapılıyor. Yani mükerrer kayıt kavramı; eğer MUSTERINO ve MAD sütunlarının her ikisi de aynı olursa, hata mesajı veriyor. Yani iki sütundaki değeri tek sütun değeriymiş gibi düşünün. Onun dışında bu sütunlardan herhangi birine, istenildiği kadar mükerrer kayıt girilebilir. */ -- index özelliklerine bakalım use yuksel go exec sp_helpindex musteri
RecordBycunay
Record Date06-07-2014 13:42:32
Düzenle
Kopyala
Sil