Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 23544|Yanıt: 2

[Kaynak] SQL Server performans optimize edilmiş indeks parçalanması

[Bağlantıyı kopyala]
Yayınlandı 27.12.2020 22:32:27 | | | |
Indeks parçalanması genel görünümü

Indeks parçalanması nedir ve neden buna odaklanmam gerekiyor:
Parçalanma, indeksdeki mantıksal sıralamanın (indeksteki anahtar değere dayanarak) indeks sayfalarındaki fiziksel sırayla uyuşmaması durumunda oluşur; indeks sayfalarındaki indeks sayfaları, indeksin içerdiği sayfalar.
Altta yatan veri üzerinde bir ekleme, güncelleme veya silme işlemi yapıldığında, veritabanı motoru otomatik olarak indeks değiştirir. Örneğin, bir tabloya satır eklemek, bölünmüş satırların mevcut sayfaları indekste depolamasına ve yeni anahtarların eklenmesine olanak açabilir. Zamanla, bu değişiklikler indeksteki bilgilerin veritabanında (parça içeren) dağılmasına neden olabilir. Parçalanma, indeksin bulunduğu sayfalardaki mantıksal sıralamanın (anahtar-değere dayanarak) veri dosyasındaki fiziksel sırayla eşleşmemesi durumunda meydana gelir.
Çok sayıda parçalanmış indeks, indeksin işaret ettiği verileri bulmak için ek G/Ç gerektiği için sorgu performansını yavaşlatabilir. Daha fazla G/Ç uygulamasının yavaş yanıt vermesine neden olabilir, özellikle tarama işlemleri söz konusu olduğunda.
Veritabanı indeks parçalanmasını kontrol edin

Komut:



Parça ayrıştırmanın iki yolu vardır: indeksleri yeniden düzenlemek ve yeniden oluşturmak; dizinleri yeniden oluşturmak, eski indeksleri silmek ve bir işlemde yeni indeksleri yeniden oluşturmak anlamına gelir; bu işlem orijinal indeksin sabit disk alanını geri alır ve yeni depolama alanı tahsis ederek bir indeks yapısı oluşturur. İndekslerin yeniden düzenlenmesi, yeni depolama alanı tahsis edilmemesini, indeks yapısının yaprak düğümlerini orijinal alan temelinde yeniden düzenlemek ve veri sayfalarının mantıksal ve fiziksel sırasının tutarlı olması ve indeksteki fazla alanın boşalmasını ifade eder.

Parçalanma derecesini, alanı avg_fragmentation_in_percent geri dönen mantıksal parçaların yüzdesini tespit etmek için sys.dm_db_index_physical_stats fonksiyonunu kullanın; genel olarak Microsoft %30 eşik önerir:

avg_fragmentation_in_percent >5% ve <=%30: INDEKS YENIDEN DÜZENLENIR;
avg_fragmentation_in_percent >%30: ENDEKSI YENIDEN INŞA ETMEYI DEĞIŞTIR;

avg_fragmentation_in_percent: Parçalanma %10~%20'den azsa, parçalanma %10~20'den azsa, parçalanma sorun olma ihtimali düşüktür,Indeks parçalanması %20~%40 ise, parçalanma sorun olabilir, ancak indeks çözünürlüğü indeks yeniden düzenlemesiyle ortadan kaldırılabilir ve büyük ölçekli parçalanma (parçalanma %40'ın üzerinde olduğunda) indeks yeniden yapılandırması gerektirebilir.


Verilen bir tablonun tüm indeksleri için parçalanma bilgisini sorgulayın



Tablo yeniden indeksleme


Tüm veritabanındaki tüm tabloların indeksini yeniden oluştur



Kaynaklar:Bağlantı girişi görünür.




Önceki:İstek formatı tanınmaz çünkü URL beklenmedik şekilde "/itsvse" ile sona erer.
Önümüzdeki:ORM çerçevesi Dapper kullanımı kolaydır
Yayınlandı 22.09.2021 13:11:22 |
İyi ki,
 Ev sahibi| Yayınlandı 18.11.2025 14:35:31 |
sp_updatestats nedir?

Bu, SQL Server sisteminin bir parçası olan sistem depolanmış bir prosedürdür.
Mevcut veritabanındaki tüm kullanıcı tablolarını inceler, son istatistiksel güncellemeden bu yana veri değişen sütunlar ve indeksler için istatistikleri yeniden hesaplar ve günceller.
Komut:
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com