SQL'de dizin nedir?

SQL'de index nedir? Açıkça anlamak için açıklayabilir veya referans verebilir misiniz?

İndeksi nerede kullanmalıyım?

Çözüm

Veritabanında aramayı hızlandırmak için bir dizin kullanılır. MySQL'in konuyla ilgili bazı iyi belgeleri vardır (diğer SQL sunucuları için de geçerlidir): http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

Bir dizin, sorgunuzdaki bazı sütunlarla eşleşen tüm satırları verimli bir şekilde bulmak ve ardından tam eşleşmeleri bulmak için tablonun yalnızca bu alt kümesinde dolaşmak için kullanılabilir. Eğer WHERE cümlesindeki herhangi bir sütunda indeksiniz yoksa, SQL sunucusu tüm tabloda dolaşmak ve eşleşip eşleşmediğini görmek için her satırı kontrol etmek zorundadır, bu da büyük tablolarda yavaş bir işlem olabilir.

Dizin aynı zamanda bir UNIQUE dizini de olabilir, yani bu sütunda yinelenen değerlere sahip olamazsınız veya bazı depolama motorlarında değerin veritabanı dosyasında nerede saklanacağını tanımlayan bir PRIMARY KEY olabilir.

MySQL'de sorgunuzun herhangi bir dizini kullanıp kullanmayacağını görmek için SELECT deyiminizin önünde EXPLAIN kullanabilirsiniz. Bu, performans sorunlarını gidermek için iyi bir başlangıçtır. Daha fazlasını buradan okuyun: http://dev.mysql.com/doc/refman/5.0/en/explain.html

Yorumlar (0)

Bir dizin, sorguların performansını hızlandırmak için kullanılır. Bunu, ziyaret edilmesi/taranması gereken veritabanı veri sayfalarının sayısını azaltarak yapar.

SQL Server'da bir kümelenmiş dizin, bir tablodaki verilerin fiziksel sırasını belirler. Tablo başına yalnızca bir kümelenmiş dizin olabilir (kümelenmiş dizin tablodur). Bir tablodaki diğer tüm indeksler kümelenmemiş olarak adlandırılır.

Yorumlar (0)

Bir index birkaç farklı nedenden dolayı kullanılır. Ana neden, satırları daha hızlı alabilmeniz veya sıralayabilmeniz için sorgulamayı hızlandırmaktır. Diğer bir neden ise, başka hiçbir sütunun aynı değerlere sahip olmamasını garanti edecek bir birincil anahtar veya benzersiz dizin tanımlamaktır.

Yorumlar (0)