Doku veri ambarında sorgu içgörüleri
Şunlar için geçerlidir:✅ Microsoft Fabric'te SQL analiz uç noktası ve Ambarı
Microsoft Fabric'te sorgu içgörüleri özelliği, SQL analiz deneyimini geliştirmek için ölçeklenebilir, sürdürülebilir ve genişletilebilir bir çözümdür. Geçmiş sorgu verileri, toplu içgörüler ve gerçek sorgu metnine erişim sayesinde sorgu performansınızı analiz edebilir ve ayarlayabilirsiniz. QI, yalnızca kullanıcının bağlamında çalıştırılan sorgular hakkında bilgi sağlar, sistem sorguları dikkate alınmaz.
Sorgu içgörüleri özelliği, geçmiş sorgu verileri için merkezi bir konum ve 30 gün boyunca eyleme dönüştürülebilir içgörüler sağlayarak Ambarınızın veya SQL analiz uç noktanızın performansını artırmak için bilinçli kararlar vermenize yardımcı olur. Bir SQL sorgusu Microsoft Fabric'te çalıştırıldığında, sorgu içgörüleri özelliği yürütme verilerini toplar ve birleştirir ve size değerli bilgiler sağlar. Yönetici, Üye ve Katkıda Bulunan rolleri için tam sorgu metnini görüntüleyebilirsiniz.
- Geçmiş Sorgu Verileri: Sorgu içgörüleri özelliği, sorgu yürütmeleri hakkındaki geçmiş verileri depolayarak zaman içindeki performans değişikliklerini izlemenizi sağlar. Sistem sorguları sorgu içgörülerinde depolanmaz.
- Toplu İçgörüler: Sorgu içgörüleri özelliği, uzun süre çalışan sorguları veya çoğu etkin kullanıcıyı tanımlama gibi daha eyleme dönüştürülebilir içgörüler halinde sorgu yürütme verilerini toplar. Bu toplamalar sorgu şeklini temel alır ve benzer sorguların içgörü oluşturmak için nasıl toplandığı konusunda daha fazla açıklanmıştır.
Başlamadan önce
Katkıda bulunan veya daha yüksek izinlere sahip bir Premium kapasite çalışma alanında sql analiz uç noktasına veya Ambara erişiminiz olmalıdır.
Sorgu içgörülerine ne zaman ihtiyacınız var?
Sorgu içgörüleri özelliği, aşağıdakiler dahil olmak üzere sorgu performansı ve veritabanı iyileştirmesi ile ilgili çeşitli soruları ve endişeleri giderir:
Sorgu Performansı Analizi
- Sorgularımızın geçmiş performansı nedir?
- Uzun süre çalışan ve ilgilenmesi gereken sorgular var mı?
- Performans sorunlarına neden olan sorguları belirleyebilir miyiz?
Sorgu İyileştirme ve Ayarlama
- Sık çalıştırılan sorgular hangileridir ve performansları geliştirilebilir mi?
- Başarısız olan veya iptal edilen sorguları tanımlayabilir miyiz?
- Sorgu performansındaki değişiklikleri zaman içinde izleyebilir miyiz?
- Tutarlı olarak kötü performans gösteren sorgular var mı?
Kullanıcı Etkinliği İzleme
- Belirli bir sorguyu kim gönderdi?
- En etkin kullanıcılar veya en uzun süre çalışan sorgulara sahip kullanıcılar kimlerdir?
Bu soruların yanıtlarını sağlamak için üç sistem görünümü vardır:
queryinsights.exec_requests_history (Transact-SQL)
- Tamamlanan her SQL isteği/sorgusu hakkında bilgi döndürür.
queryinsights.exec_sessions_history (Transact-SQL)
- Sık çalıştırılacak sorgular hakkındaki bilgileri döndürür.
queryinsights.long_running_queries (Transact-SQL)
- Sorgu yürütme süresine göre sorgular hakkındaki bilgileri döndürür.
queryinsights.frequently_run_queries (Transact-SQL)
- Sık çalıştırılacak sorgular hakkındaki bilgileri döndürür.
Sorgu içgörülerini nerede görebilirsiniz?
Otomatik oluşturulan görünümler SQL analytics uç noktası ve Ambarı'ndaki şemanın altındadır queryinsights
. Örneğin bir Ambarın Doku Gezgini'nde Şemalar, queryinsights, Views altında sorgu içgörüleri görünümlerini bulun.
Sorgunuz yürütmeyi tamamladıktan sonra, yürütme verilerini queryinsights
bağlandığınız Ambar veya SQL analiz uç noktasının görünümlerinde görürsünüz. bağlamındayken WH_2
veritabanları arası bir sorgu çalıştırırsanız, sorgunuz içindeki sorgu içgörülerinde WH_2
görüntülenir. Tamamlanan sorguların yürütülmekte olan eş zamanlı iş yüküne bağlı olarak sorgu içgörülerinde görünmesi 15 dakika kadar sürebilir. Sorgu içgörülerinde sorguların görünmesi için geçen süre, yürütülen eşzamanlı sorgulardaki artışla artar.
İçgörü oluşturmak için benzer sorgular nasıl toplanır?
Sorgular aynı şekle sahipse, koşul farklı olsa bile sorgular Sorgu İçgörüleri tarafından aynı kabul edilir.
Benzer sorguları analiz etmek ve her yürütmede detaya gitmek için görünümlerdeki sütunu kullanabilirsiniz query hash
.
Örneğin, aşağıdaki sorgular, önkoşulları parametrelendirildikten sonra aynı kabul edilir:
SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';
ile
SELECT * FROM Orders
WHERE OrderDate BETWEEN '2000-07-01' AND '2006-07-31';
Örnekler
Son 30 dakika içinde sizin tarafınızdan çalıştırılan sorguları tanımlama
Aşağıdaki sorgu, geçerli oturum kullanıcı adınızı döndüren ve yerleşik USER_NAME()
işlevini kullanırqueryinsights.exec_requests_history
.
SELECT * FROM queryinsights.exec_requests_history
WHERE start_time >= DATEADD(MINUTE, -30, GETUTCDATE())
AND login_name = USER_NAME();
Sorgu metninde bir alt dize kullanarak en sık çalıştırılacak sorguları belirleme
Aşağıdaki sorgu, belirli bir dizeyle eşleşen ve azalan başarılı yürütme sayısına göre sıralanmış en son sorguları döndürür.
SELECT * FROM queryinsights.frequently_run_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY number_of_successful_runs DESC;
Sorgu metninde bir alt dize kullanarak uzun süre çalışan sorguları tanımlama
Aşağıdaki sorgu, ortanca sorgu yürütme süresi azalan düzende sıralanmış belirli bir dizeyle eşleşen sorguları döndürür.
SELECT * FROM queryinsights.long_running_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY median_total_elapsed_time_ms DESC;