Arasındaki fark Clustered ve kümelenmeyen dizin
Arasındaki Temel Fark Clustered ve Kümelenmeyen Endeks
- Küme dizini, tablodaki veri satırlarını anahtar değerlerine göre sıralayan bir dizin türüdür; Kümelenmemiş dizin ise verileri bir konumda ve dizinleri başka bir konumda depolar.
- Clustered index, veri sayfalarını dizinin yaprak düğümlerinde depolar, ancak Kümelenmeyen dizin yöntemi veri sayfalarını asla dizinin yaprak düğümlerinde depolamaz.
- Küme dizini ek disk alanı gerektirmezken, Kümelenmemiş dizin ek disk alanı gerektirir.
- Cluster indeks daha hızlı veri erişimi sunarken, kümelenmeyen indeks daha yavaştır.
Endeks nedir?
Dizin, veritabanındaki bir veya daha fazla sütundan oluşturulan ve tablodan veya görünümden satırların alınmasını hızlandıran bir anahtardır. Bu anahtar gibi bir Veritabanına yardımcı olur Oracle, SQL Server, MySQLAnahtar değerlerle ilişkili satırı hızlı bir şekilde bulmak için vb.
İki tür Dizin vardır:
- ClusterDüzenlenmiş Dizin
- Olmayan-ClusterDüzenlenmiş Dizin
Nedir ClusterEd indeksi?
Cluster index, tablo içindeki veri satırlarını anahtar değerlerine göre sıralayan bir indeks türüdür. Veritabanında, tablo başına yalnızca bir kümelenmiş indeks vardır.
Kümelenmiş bir dizin, yalnızca tek bir şekilde sıralanabilen verilerin tabloda depolanma sırasını tanımlar. Yani her tablo için yalnızca tek bir kümelenmiş dizin bulunabilir. Bir RDBMS'de genellikle birincil anahtar, söz konusu belirli sütuna dayalı olarak kümelenmiş bir dizin oluşturmanıza olanak tanır.
Kümelenmemiş dizin nedir?
Kümelenmemiş bir dizin, verileri bir konumda ve dizinleri başka bir konumda saklar. Dizin, bu verilerin konumuna ilişkin işaretçiler içerir. Kümelenmemiş dizindeki bir dizin farklı yerlerde saklandığından, tek bir tablo birçok kümelenmemiş dizine sahip olabilir.
Örneğin, bir kitabın birden fazla dizini olabilir; birincisi kitabın içindekileri birim bazında gösteren başlangıçtaki dizin, ikincisi ise terimlerin alfabetik sıraya göre dizini olan dizindir.
Tablonun sıralamasız alanında kümelenmeyen bir indeks tanımlanır. Bu tür dizin oluşturma yöntemi, birincil anahtar olarak atanmamış anahtarları kullanan sorguların performansını artırmanıza yardımcı olur. Kümelenmemiş bir dizin, bir tablo için benzersiz bir anahtar eklemenizi sağlar.
Nin kişilik özelliği ClusterDüzenlenmiş Dizin
- Varsayılan ve sıralanmış veri depolama
- Bir dizin için yalnızca bir veya birden fazla sütun kullanın
- Verileri ve dizini birlikte saklamanıza yardımcı olur
- Parçalanma
- Operasyon
- Clustered indeks taraması ve indeks arama
- Anahtar Arama
Kümelenmemiş Dizinlerin Özellikleri
- Yalnızca anahtar değerleri depola
- Heap'e Yönelik İşaretçiler/Clustered Dizin satırları
- İkincil veri erişimine izin verir
- Verilere köprü kurun
- OperaDizin Tarama ve Dizin Arama işlemleri
- Bir tablo veya görünüm için kümelenmemiş dizin oluşturabilirsiniz
- Kümelenmemiş dizindeki her dizin satırı, kümelenmemiş anahtar değerini ve bir satır bulucuyu saklar
ClusterSQL'de ed ve Non-clustered Index: Temel Farklar
parametreler | Clustered | Kümelenmemiş |
---|---|---|
İçin kullanmak | Kayıtları sıralayabilir ve Clustered Index'i fiziki olarak hafızada sırasına göre saklayabilirsiniz. | Kümelenmemiş dizin, veri satırları için mantıksal bir düzen oluşturmanıza yardımcı olur ve fiziksel veri dosyaları için işaretçiler kullanır. |
Depolama yöntemi | Veri sayfalarını dizinin yaprak düğümlerinde saklamanıza olanak tanır. | Bu indeksleme yöntemi, veri sayfalarını asla indeksin yaprak düğümlerinde saklamaz. |
Beden | Kümelenmiş endeksin boyutu oldukça büyüktür. | Kümelenmemiş dizinin boyutu, kümelenmiş dizine göre küçüktür. |
Veri erişimi | Daha hızlı | Kümelenmiş dizine kıyasla daha yavaş |
Ek disk alanı | Gerekli Değil | Dizinin ayrı olarak saklanması gerekiyor |
Anahtar türü | Varsayılan Olarak Tablonun Birincil Anahtarları bir Clustered Dizini. | Bileşik anahtar görevi gören tabloda benzersiz kısıtlamalarla kullanılabilir. |
Ana özellik | Kümelenmiş bir dizin, veri alma performansını artırabilir. | Birleştirmelerde kullanılan sütunlarda oluşturulmalıdır. |
Kümelenmiş dizin örneği
Aşağıdaki örnekte SalesOrderDetailID kümelenmiş dizindir. Veri almak için örnek sorgu
SELECT CarrierTrackingNumber, UnitPrice FROM SalesData WHERE SalesOrderDetailID = 6
Kümelenmemiş dizin örneği
Aşağıdaki örnekte OrderQty ve ProductID üzerinde aşağıdaki gibi kümelenmemiş bir dizin oluşturulmuştur.
CREATE INDEX myIndex ON SalesData (ProductID, OrderQty)
Aşağıdaki sorgu, kümelenmiş indekse kıyasla daha hızlı alınacaktır.
SELECT Product ID, OrderQty FROM SalesData WHERE ProductID = 714
Avantajları ClusterDüzenlenmiş Dizin
Kümelenmiş endeksin avantajları/avantajları şunlardır:
- Clustered dizinleri, maksimum, minimum, sayım türü sorgularla aralık veya gruplandırma için ideal bir seçenektir
- Bu tür indekste, bir arama doğrudan verideki belirli bir noktaya gidebilir, böylece oradan sırayla okumaya devam edebilirsiniz.
- Clustered indeks yöntemi, indeks girişini bir aralığın başlangıcında bulmak için konum mekanizmasını kullanır.
- Bir dizi arama anahtarı değeri istendiğinde aralık aramaları için etkili bir yöntemdir.
- Sayfa aktarımlarını en aza indirmenize ve önbellek isabetlerini en üst düzeye çıkarmanıza yardımcı olur.
Kümelenmemiş endeksin avantajları
Kümelenmemiş dizin kullanmanın avantajları şunlardır:
- Kümelenmeyen bir dizin, verileri veritabanı tablosundan hızlı bir şekilde almanıza yardımcı olur.
- Kümelenmiş dizinle ilişkili genel gider maliyetlerinden kaçınmanıza yardımcı olur
- Bir tablonun birden fazla kümelenmemiş dizini olabilir. RDBMS. Yani birden fazla indeks oluşturmak için kullanılabilir.
Dezavantajları ClusterDüzenlenmiş Dizin
Kümelenmiş dizin kullanmanın eksileri/dezavantajları şunlardır:
- Sıralı olmayan sırada çok sayıda ekleme
- Kümelenmiş bir dizin, dizin sayfalarının yanı sıra veri sayfalarını da içeren çok sayıda sabit sayfa bölümü oluşturur.
- için ekstra çalışma SQL eklemeler, güncellemeler ve silmeler için.
- Kümelenmiş dizindeki alanlar değiştirildiğinde, kümelenmiş dizinin kayıtları güncelleştirmesi daha uzun zaman alır.
- Yaprak düğümler çoğunlukla kümelenmiş dizindeki veri sayfalarını içerir.
Kümelenmemiş endeksin dezavantajları
Kümelenmemiş dizin kullanmanın eksileri/dezavantajları şunlardır:
- Kümelenmemiş bir dizin, verileri mantıksal bir sırada saklamanıza yardımcı olur ancak veri satırlarının fiziksel olarak sıralanmasına izin vermez.
- Kümelenmemiş indekste arama işlemi maliyetli hale gelir.
- Kümeleme anahtarı her güncellendiğinde, kümelenme anahtarını sakladığı için kümelenmemiş dizinde karşılık gelen bir güncelleme gerekir.