içinde

SQL Server Dizinleri

“SQL Server Dizinleri
Bir veritabanı dizini, bir kitaptaki bir dizine benzer, bir arama değerinden ve bir tablodaki satır numarasına karşılık gelen bir numara tanımlayıcısından oluşur. SQL Server’da kümelenmiş ve kümelenmemiş iki tür dizin vardır. Kümelenmiş Dizinler, tablodaki verilerin fiziksel olarak dizin sırasına göre sıralanmasını gerektirir. Bir tablodaki veriler fiziksel olarak yalnızca tek bir şekilde sıralanabildiğinden, tablo başına en fazla yalnızca bir kümelenmiş dizin olabilir. Kümelenmemiş dizin, verilerin fiziksel olarak sıralanmasını gerektirmez, bu nedenle tablo başına birden fazla kümelenmemiş dizin olabilir. Aslında SQL Server, tablo başına 249 adede kadar kümelenmemiş dizine izin verir. Veriler fiziksel olarak sıralanmadığından, kümelenmemiş bir dizin kullanan aralık aramaları çok verimli değildir.

T-SQL’de bir dizin oluşturma komutu

OLUŞTUR [EŞSİZ] [KÜMELENMİŞ | NONCLUSTERED] INDEX dizin_adı AÇIK {tablo | görünüm} (sütun [ASC | DESC] [, … n]) [ İLE [, … n]] [AÇIK dosya grubu] :: = {PAD_INDEX | FILLFACTOR = dolgu faktörü | IGNORE_DUP_KEY | DROP_EXISTING | STATISTICS_NORECOMPUTE | SORT_IN_TEMPDB}

PAD_INDEX, dizinin yaprak olmayan düzeylerinde boş bırakılan alan yüzdesini belirtir. FILLFACTOR, yaprak sayfalarını doldurma yüzdesini belirtir. SORT_IN_TEMPDB, sıralamanın ara sonuçlarının tempdb’de saklanacağını belirtir. Bu, disk alanı gereksinimini artırır ancak hız indeksi oluşturmayı etkiler. STATISTICS_NO_RECOMPUTE, sisteme indeks istatistiklerini otomatik olarak güncellememesini söyler.

Elbette, indeksler Enterprise Manager kullanılarak da oluşturulabilir ve yönetilebilir. Veritabanı Diyagramından, Dizin Oluştur Sihirbazı kullanılarak veya Tablo Tasarımcısındaki alanlar değiştirilerek oluşturulabilirler.

Endekslerle takas var. Sorguların yürütülmesini büyük ölçüde hızlandırırken, bunlarla ilişkili ek yükler vardır. Ek disk alanı kullanırlar ve veriler her güncellendiğinde veya bir tabloya eklendiğinde kendilerini güncellemek için ek süre gerektirirler. Büyük miktarda veri yüklerken, yüklemeden önce dizini kaldırmak, ardından yeni kayıtlar tabloya eklendikten sonra dizini yeniden oluşturmak faydalı olabilir. Dizinler Tasarlanmış Tablo kullanılarak veya DROP INDEX komutu kullanılarak bırakılabilir.

Dizinler de parçalanmış olabilir. Bir dizini birleştirmek için, dizini bırakın ve yeniden oluşturun veya dbcc indexdefrag komutunu verin.

Ne düşünüyorsun?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

GIPHY App Key not set. Please check settings

Casus Ekipmanı – En İyi Casus Ekipmanını Edinme

SQL Server’da Saklanan Prosedürler