Konular

Sql Komutlarından İndex

Sql komutlarından index oluşturma ve faydaları, myadminde gösterimi

İndeks Oluşturmanın Faydası :

 Bir indeks, veri tabanı ortamında bir tablo ya da bir view gibi bir nesnedir.
 ilişkili olarak kullanıldığı tablo ya da view
deki satırların, indeksleme alanı olarak kullanılan kolondaki verilere göre sıralanmış biçimde işlenme sokulmasını sağlar.

Bir tablo, indekslenmiş ise , bu tablo içinde gerçekleştirilecek bir arama ya da koşullu listeleme ( SELECT komutu ile ) işlemi çok daha hızlı biçimde gerçekleştirecektir.

SQL komutlarından index

İndeks Yaratma :

SQL 'de bir tablo ile ilişkili olarak bir indeks yaratmak için gerekli komut CREATE INDEKS komutudur.Komutun yazılış biçimi aşağıdaki gibidir :

            CREATE INDEX indeks adı

            ON tablo adı ( kolon adı1, koon adı2,���kolon adı (n)) ;

İndeksleme artan ya da azalan şekilde olabilir. Adan Zye nümerik olarak küçükten büyüğe şeklindedir. Azalan ise bunun tam tersidir. Hiçbir özel sözcük kullnılmazsa indeksleme artan sayılır ya da alan adının yanında ASC sözcüğü kullanılırsa artan sıralama yapılacağı anlaşılır. Herhangi bir DESC sözcüğünün kullanılması ise azalan sıralama yapılacağı anlamına gelmektedir.

Tek Bir Alana Göre Artan Sırada İndeksleme :

İşletmede çalışan personeli brüt maaşlarına göre artan sırada listelemek istersek, brüt alanına göre bir indeks oluşturmalıyız.

            CREATE INDEX pers_maas

            ON personel (brüt) ;

            Index created 127 rows

127 satırlık personel tablosu ile ilişkili olarak brüt kolonuna indeks anahtarı olarak kullanılan pers_maas adlı indeks oluşturuluştur. Bu durumda

            SELECT *

            FROM personel ;

Şeklindeki listeleme komutu sonucunda personel tablosundaki tüm personel brüt maaşlarına göre listelenecektir.

Tek Bir Alana Göre Azalan Sırada İndeksleme :

 İşletmede çalışan personeli brüt maaşlarına göre azalan sırada listelemek istenirse brüt alanına göre aşağıdaki gibi indeks oluşturmak gerekir :

            CREATE INDEX pers_maas

            ON personel (brüt DESC) ;

Birden Fazla Alana Göre İndeksleme :
 İşletmedeki personelin öncelikle adlarına göre aynı adda olanların soyadlarına göre hem adı hem soyadı aynı olanların maaşlarına göre sıralanmış olarak listelenmesi istenirse aşağıdaki komut kullnılmalıdır :

            CREATE INDEX p_ad_soy_m

            ON personel ( ad, soyad ,brüt ) ;

Bu durumda

            SELECT *

            FROM personel ;

Komutu sonucunda sıralanmış tablo görülecektir.

 Unıque Sözcüğü :

 Bir tablo , seçilen bir sütuna göre indekslenirken indeksleme alanı olarak seçilen sütundaki verilerin tekrarlanmasına izin verilmesi istenmiyorsa indeksleme yapılırken , CREATE INDEX komutu içinde UNIQUE sözcüğü kullanılır.

            CREATE UNIQUE INDEX pers_sicil

            ON personel ( sicil );

 Mevcut Bir İndeksin Silinmesi :

 Bir tablo üzerinde tanımlanmış herhangi bir indeks , o tablonun veri tabanından silinmesi ile otomatik olarak silinecektir.

Tablo silinmeksizin , o tablo üzerinde oluşturulan indeksin silinmesi içinse DROP INDEX komutu kullnılmalıdır.

            DROP INDEX pers_in ;

komutu ile

            INDEX DROPPED

Mesajı alınacaktır.

CREATE INDEX (index adı ON tablo adı (alan adı))

Örnek: CREATE INDEX PERSON_IDX ON PERSONEL (ADI,SOYADI);

 

 

           

Yorumunuzu Ekleyin

Temel Sql Komutları
Yükleniyor...