Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Eksik indeksler grupları hakkında özet bilgiler döndürür, mekânsal indeksler hariç.
Azure SQL Veritabanı'nda dinamik yönetim görünümleri, veritabanının kapsamasını etkileyecek bilgileri veya kullanıcının erişimi olan diğer veritabanları hakkındaki bilgileri kullanıma sunmaz. Bu bilgilerin açığa çıkmasını önlemek için, bağlı kiracıya ait olmayan verileri içeren her satır filtrelenir.
| Sütun adı | Veri türü | Description |
|---|---|---|
| group_handle | int | Eksik bir grup indeksleri belirler. Bu tanımlayıcı sunucu genelinde benzersizdir. Diğer sütunlar, gruptaki indeksin eksik olarak kabul edilen tüm sorgular hakkında bilgi sağlar. Bir indeks grubu yalnızca bir indeks içerir. sys.dm_db_missing_index_groups içinde birleştirilebilir index_group_handle. |
| unique_compiles | bigint | Bu eksik endeks grubundan fayda sağlayacak derleme ve yeniden derleme sayısı. Birçok farklı sorgunun derlenmesi ve yeniden derlenmesi bu sütun değerine katkıda bulunabilir. |
| user_seeks | bigint | Gruptaki önerilen indeksin kullanılabileceği kullanıcı sorguları nedeniyle yapılan arama sayısı. |
| user_scans | bigint | Gruptaki önerilen indeksin kullanılabileceği kullanıcı sorguları nedeniyle yapılan tarama sayısı. |
| last_user_seek | datetime | Gruptaki önerilen indeksin kullanılabileceği kullanıcı sorguları nedeniyle son arama tarihi ve saati. |
| last_user_scan | datetime | Grupta önerilen indeksin kullanılabileceği kullanıcı sorguları nedeniyle son taramanın tarihi ve saati. |
| avg_total_user_cost | float | Gruptaki indeks tarafından azaltılabilen kullanıcı sorgularının ortalama maliyeti. |
| avg_user_impact | float | Bu eksik endeks grubu uygulanırsa kullanıcı sorgularının yaşayabileceği ortalama yüzde faydası. Bu değer, eksik endeks grubu uygulansaydı sorgu maliyetinin ortalama olarak bu yüzdeyi düşeceği anlamına gelir. |
| system_seeks | bigint | Sistem sorguları (örneğin otomatik istatistik sorguları) nedeniyle oluşturulan ve gruptaki önerilen indeksin kullanılabileceği arama sayısı. Daha fazla bilgi için Otomatik İstatistik Etkinlik Sınıfına bakınız. |
| system_scans | bigint | Grupta önerilen indeksin kullanılabileceği sistem sorguları nedeniyle yapılan tarama sayısı. |
| last_system_seek | datetime | Gruptaki önerilen indeksin kullanılabileceği sistem sorguları nedeniyle son sistem aramasının tarihi ve saati. |
| last_system_scan | datetime | Gruptaki önerilen indeksin kullanılabileceği sistem sorguları nedeniyle son sistem taramasının tarihi ve saati. |
| avg_total_system_cost | float | Gruptaki endeks tarafından azaltılabilen sistem sorgularının ortalama maliyeti. |
| avg_system_impact | float | Bu eksik endeks grubu uygulanırsa sistem sorgularının yaşanabileceği ortalama yüzde faydası. Bu değer, eksik endeks grubu uygulansaydı sorgu maliyetinin ortalama olarak bu yüzdeyi düşeceği anlamına gelir. |
Açıklamalar
Geri sys.dm_db_missing_index_group_stats dönen bilgiler, her sorgu derlemesi veya yeniden derleme ile değil, her sorgu yürütülmesiyle güncellenir. Kullanım istatistikleri kalıcı olmaz ve yalnızca veritabanı motoru yeniden başlatılana kadar saklanır. Veritabanı yöneticileri, sunucu geri dönüşümünden sonra kullanım istatistiklerini korumak istiyorlarsa, eksik indeks bilgilerinin yedeği olarak düzenli olarak yedeklemelidir.
sqlserver_start_time Son veritabanı altyapısı başlangıç zamanını bulmak için sys.dm_os_sys_info sütununu kullanın.
Uyarı
Bu DMV için sonuç seti 600 satırla sınırlıdır. Her satırda eksik bir indeks bulunur. 600'den fazla eksik indeksiniz varsa, mevcut eksik indeksleri ele almalısınız ki daha yeni olanlara bakabilesiniz.
Eksik bir indeks grubu, aynı indekse ihtiyaç duyan birkaç sorguya sahip olabilir. Bu DMV'de belirli bir indeks gerektiren bireysel sorgular hakkında daha fazla bilgi için bkz. sys.dm_db_missing_index_group_stats_query.
Permissions
Bu dinamik yönetim görünümünü sorgulamak için kullanıcılara VIEW SERVER STATE izni veya VIEW SERVER STATE izni verilen herhangi bir izin verilmelidir.
SQL Server 2022 ve üzeri için izinler
Sunucuda SUNUCU PERFORMANS DURUMUNU GÖRÜNTÜLE izni gerektirir.
Örnekler
Aşağıdaki örnekler dinamik yönetim görünümünün sys.dm_db_missing_index_group_stats nasıl kullanılacağını göstermektedir. Eksik indekslerin kümelenmiş olmayan indekslerle uyumlu kullanımı hakkında daha fazla bilgi edinin.
A. Kullanıcı sorgularında en yüksek beklenen iyileşmeye sahip eksik 10 indeks bulun
Aşağıdaki sorgu, kullanıcı sorguları için azalan sırayla en yüksek beklenen kümülatif iyileşmeyi sağlayan 10 eksik indeksin hangisinin gerçekleşeceğini belirler.
SELECT TOP 10 *
FROM sys.dm_db_missing_index_group_stats
ORDER BY avg_total_user_cost * avg_user_impact * (user_seeks + user_scans)DESC;
B. Eksik olan bireysel indeksleri ve belirli bir eksik indeks grubu için sütun detaylarını bulun
Aşağıdaki sorgu, eksik indekslerin belirli bir eksik indeks grubunu oluşturduğunu belirler ve onların sütun detaylarını gösterir. Bu örnek için, eksik indeks group_handle 24'tür.
SELECT migs.group_handle, mid.*
FROM sys.dm_db_missing_index_group_stats AS migs
INNER JOIN sys.dm_db_missing_index_groups AS mig
ON (migs.group_handle = mig.index_group_handle)
INNER JOIN sys.dm_db_missing_index_details AS mid
ON (mig.index_handle = mid.index_handle)
WHERE migs.group_handle = 24;
Bu sorgu, eksik bir indeksin bulunduğu veritabanının, şemanın ve tablonun adını sağlar. Ayrıca indeks anahtarı için kullanılması gereken sütunların isimlerini de sağlar. Eksik indeksleri uygulamak için CREATE INDEX DDL ifadesini yazarken, önce eşitlik sütunlarını, ardından CREATE INDEX ifadesinin ON <table_name> maddesinde eşitsizlik sütunlarını listeleyin. Dahil edilen sütunlar, CREATE INDEX ifadesinin INCLUDE maddesinde listelenmelidir. Eşitlik sütunları için etkili bir sırayı belirlemek için, onları seçiciliklerine göre sıralayın ve en seçici sütunları önce listeleyin (sütun listesinde en sol). Eksik indeks önerilerini nasıl uygulayacağınızı öğrenin.
Sonraki Adımlar
Eksik indeks özelliği hakkında daha fazla bilgiyi aşağıdaki makalelerde bulabilirsiniz:
- Kümelenmemiş dizinleri eksik indeks önerileri kullanarak iyileştirin
- sys.dm_db_missing_index_columns (Transact-SQL)
- sys.dm_db_missing_index_details (Transact-SQL)
- sys.dm_db_missing_index_groups (Transact-SQL)
- sys.dm_db_missing_index_group_stats_query (Transact-SQL)
- İNDEKS OLUŞTUR (Transact-SQL)
- sys.dm_os_sys_info (Transact-SQL)