|
|
Yayınlandı 20.09.2019 09:31:08
|
|
|

Indeksleme kavramı
Bir indeks oluşturmanın amacı, veritabanı sisteminin performansını artırmak, veri sorgulama hızını artırmak ve sistemin yanıt süresini azaltmaktır. İndeks nedir: Bir veritabanındaki indeks, kitabın içindekilere benzer; istediğiniz bilgiyi tüm kitabı okumadan hızlıca bulabiliyorsunuz. Bir veritabanında, bir veritabanı programı tüm tabloyu taramaya gerek kalmadan bir tablodaki verileri hızlıca sorgulamak için indeksler kullanır. Bir kitaptaki içerik tablosu, kelimelerin ve bunların bulunduğu sayfa numaralarının bir listesidir; veritabanındaki indeks, bir tablodaki değerler listesi ve her değerin saklandığı bir listedir. Indekslemenin artıları ve eksileri: Sorgu yürütme yükünün çoğu I/O (I/O) ile ilgilidir ve performansı artırmak için indekslerin kullanılmasının ana hedeflerinden biri tam tablo taramasından kaçınmaktır; çünkü tam tablo taraması tablodaki her veri sayfasını diskten okumalıdır ve bir indeks veri değerine işaret ediyorsa, sorgu sadece birkaç kez diske okuma yapar. Bu nedenle, indekslerin makul kullanımı veri sorgulamasını hızlandırabilir. Ancak, indeksler her zaman sistemin performansını iyileştirmez, indekslenmiş tabloların veritabanında daha fazla depolama alanı kaplaması gerekir ve aynı veri değiştirme ve silme komutu indeksin çalıştırılması ve bakımı daha uzun sürer. Bu nedenle, indeksi makul bir şekilde kullanmalı ve yetersiz indeksi kaldırmak için zamanında güncellemeliyiz.
İndekslerin sınıflandırılması
İndeks, Çin sözlüğünün önündeki içerik tablosuna benzer ve pinyin veya büyük harfe göre bulmak istediğiniz kelimeyi hızlıca bulabilirsiniz. TEKİZ: Her satırın indeks değeri benzersizdir (benzersiz bir kısıtlama oluşturulur ve sistem otomatik olarak benzersiz bir indeks oluşturur). Birincil Anahtar İndeksi: Tablo oluşturulduğunda belirtilen birincil anahtar sütunu otomatik olarak birincil anahtar indeksi oluşturur ve benzersiz özelliklere sahiptir. KÜMELENMIŞ: Kümelenmiş indeksler, bir sözlüğün pinyin aramasını kullanmaya eşdeğerdir, çünkü kümelenmiş indeks fiziksel olarak sürekli kayıtları saklar; yani pinyin a'nın ardından b gelmesi gerekir. KÜMELENMEYİŞ: KÜMELENMEYİZ indeksler, sözlük radikallerinin arama için kullanılmasına eşdeğerdir, kümelenmemiş indeksler mantıksal olarak süreklidir ve fiziksel depolama bitişik değildir. Kümelenmiş bir indeks yalnızca bir tabloya sahip olabilirken, kümelenmiş olmayan indeks bir tabloda birden fazla tabloya sahip olabilir.
Hangi alanların indekslenmesi gerektiği
1. Tablodaki birincil ve yabancı anahtarların bir indeksi olmalıdır 2. 300'den fazla veri içeren tabloların bir indeksi olmalıdır 3. Diğer tablolara sık sık bağlı olan tablolar, bağlı alanlarda indekslenmelidir 4. Where cümlesinde sıkça görünen alanlar, özellikle büyük tablolarda, indekslenmelidir 5. Sıklıkla sıralanan veya gruplanan alanlar (örneğin, GROUP BY veya ORDER BY işlemlerini gerçekleştiren) indekslenmelidir 6. Indeks, son derece seçici alanlar üzerine kurulmalıdır 7. İndeks küçük alanlar üzerinde, büyük metin alanları veya ultra uzun alanlar için oluşturulmalı, indeksler oluşturulmamalı ve tam sayıları mümkün olduğunca anahtar değerler olarak kullanmalı, çünkü tam sayılar en hızlı erişim hızına sahiptir 8. Bileşik endekslerin oluşturulması dikkatlice analiz edilmelidir; Bunun yerine tek alanlı indeksler kullanmayı düşün 9. Veri işleme işlemlerini sık yapan tablolar çok fazla indekslenmemelidir 10. Uygulama planı üzerinde olumsuz etki yaratmamak için işe yaramaz endeksleri silin
Çok fazla endeksin dezavantajı
1. Depolama alanı büyüyecek ve her indeks uzayda saklanmalıdır 2. Eğer çok sayıda kümelenmemiş endeks varsa, kümelenmiş endeks değiştiğinde, tüm kümelenmemiş indeksler buna göre değişir 3. Çok fazla endeks olması, optimizatorun optimizasyon sürecinde değerlendirilmesi gereken kombinasyon sayısının artmasına yol açar ve sorgu süresini artırır 4. Her endeks istatistiksel bilgiye sahiptir ve ne kadar çok endeks olursa, o kadar çok istatistiksel bilgi vardır, bu da sorgulama süresini artırır 5. Güncelleme genel yükü, veri değiştiğinde ve birçok sütun değiştiğinde, birkaç indeksin değişmesine neden olabilir, bu da güncelleme, silme ve ekleme yavaşlamasına yol açabilir
|
Önceki:Gençlik güçlü eşlikli müzik videosuÖnümüzdeki:C# mevcut sistem disk harfini, sistem dizini, masaüstünü vb. alır
|