Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:✅ punktu końcowego analizy SQL i składnika Warehouse w usłudze Microsoft Fabric
W usłudze Microsoft Fabric funkcja szczegółowych informacji o zapytaniach jest skalowalnym, zrównoważonym i rozszerzalnym rozwiązaniem, które usprawnia środowisko analizy SQL. Korzystając z danych historycznych zapytań, zagregowanych szczegółowych informacji i dostępu do rzeczywistego tekstu zapytania, możesz analizować i dostosowywać wydajność zapytań. Qi udostępnia informacje na temat zapytań uruchamianych tylko w kontekście użytkownika, zapytania systemowe nie są brane pod uwagę.
Funkcja szczegółowych informacji o zapytaniach zapewnia centralną lokalizację danych historycznych zapytań i szczegółowe informacje umożliwiające podejmowanie akcji przez 30 dni, co ułatwia podejmowanie świadomych decyzji w celu zwiększenia wydajności punktu końcowego usługi Warehouse lub analizy SQL. Gdy zapytanie SQL jest uruchamiane w usłudze Microsoft Fabric, funkcja szczegółowych informacji o zapytaniach zbiera i konsoliduje swoje dane wykonywania, zapewniając cenne informacje. Pełny tekst zapytania można wyświetlić dla ról Administrator, Członek i Współautor.
- Dane zapytań historycznych: Usługa Query Insights przechowuje historyczne dane dotyczące wykonywania zapytań, umożliwiając śledzenie zmian wydajności w czasie. Zapytania systemowe nie są przechowywane w analizie zapytań.
- Zagregowane szczegółowe informacje: Usługa Query Insights agreguje dane wykonywania zapytań w szczegółowe informacje, które są bardziej praktyczne, takie jak identyfikowanie długotrwałych zapytań lub najbardziej aktywnych użytkowników. Te agregacje są oparte na kształcie zapytania. Aby uzyskać więcej informacji, zobacz Jak podobne zapytania są agregowane w celu generowania szczegółowych informacji?
-
Szczegółowe informacje o magazynie: Aby zrozumieć ogólną kondycję magazynu, użyj
sql_pool_insightswidoku . Ten widok zawiera metryki na poziomie puli i wskaźniki ciśnienia, pomagając monitorować alokację zasobów i diagnozować problemy z wydajnością w pulach.
Zanim rozpoczniesz
Musisz mieć dostęp do punktu końcowego analizy SQL lub Magazynu w obszarze roboczym w ramach pojemności Premium z uprawnieniami współautora lub wyższymi.
Kiedy potrzebujesz szczegółowych informacji o zapytaniach?
Funkcja szczegółowych informacji o zapytaniach dotyczy kilku pytań i problemów związanych z wydajnością zapytań i optymalizacją bazy danych, w tym:
Analiza wydajności zapytań
- Jaka jest historyczna wydajność naszych zapytań?
- Czy istnieją długotrwałe zapytania, które wymagają uwagi?
- Czy możemy zidentyfikować zapytania stanowiące wąskie gardła wydajności?
- Czy pamięć podręczna była używana dla moich zapytań?
- Które zapytania zużywają najwięcej procesora CPU?
Optymalizacja zapytań i dostrajanie
- Które zapytania są często uruchamiane i czy można zwiększyć ich wydajność?
- Czy możemy zidentyfikować zapytania, które zakończyły się niepowodzeniem lub zostały anulowane?
- Czy możemy śledzić zmiany w wydajności zapytań w czasie?
- Czy istnieją zapytania, które stale działają słabo?
Monitorowanie aktywności użytkownika
- Kto przesłał określone zapytanie?
- Kto jest najbardziej aktywnymi użytkownikami lub użytkownikami z najbardziej długotrwałymi zapytaniami?
Monitorowanie puli SQL i zasobów
- Czy moja pula SQL była pod presją podczas wykonywania zapytań?
- Jak często pula doświadczyła ciśnienia w ciągu ostatnich 24 godzin?
- Czy wprowadzono jakieś ostatnie zmiany w konfiguracji pojemności obszaru roboczego lub puli?
- Które pule zużywają najwyższy procent zasobów?
- Czy mogę skorelować zdarzenia obciążenia z wolno działającymi zapytaniami?
- Jak identyfikować trendy w ciśnieniu basenu w czasie?
Następujące widoki systemowe zawierają odpowiedzi na następujące pytania:
queryinsights.exec_requests_history
- Zwraca informacje o każdym ukończonym żądaniu/zapytaniu SQL.
queryinsights.exec_sessions_history
- Zwraca informacje o ukończonych sesjach.
queryinsights.long_running_queries
- Zwraca informacje o zapytaniach według czasu wykonywania zapytania.
queryinsights.frequently_run_queries
- Zwraca informacje o często uruchamianych zapytaniach.
queryinsights.sql_pool_insights
- Zwraca informacje o alokacji zasobów magazynu, zmianach konfiguracji i nacisku.
queryinsights.external_api_call_stats
- Zwraca diagnostykę na poziomie funkcji dla zapytań wywołujących zewnętrzne API za pośrednictwem funkcji AI. Widok zawiera jeden wiersz dla każdej odrębnej funkcji zewnętrznej używanej przez zapytanie.
Gdzie można zobaczyć szczegółowe informacje o zapytaniach?
Automatycznie wygenerowane widoki znajdują się w schemacie queryinsights w punkcie końcowym analizy SQL i Magazynie. Na przykład w Eksploratorze Fabric dla magazynu znajdź widoki statystyk zapytań pod pozycjami Schemas, queryinsights, Views.
Po zakończeniu wykonywania zapytania zobaczysz dane jego wykonania w widokach queryinsights magazynu lub punktu końcowego analizy SQL, z którym masz połączenie. Jeśli uruchomisz zapytanie międzybazodanowe w kontekście WH_2, pojawi się ono w statystykach zapytań dla WH_2. Ukończone zapytania mogą pojawić się w funkcji Query Insights z opóźnieniem do 15 minut, w zależności od aktualnie wykonywanego współbieżnego obciążenia. Czas potrzebny na pojawienie się zapytań w szczegółowych danych zapytań zwiększa się wraz ze wzrostem liczby wykonywanych zapytań współbieżnych.
Wszystkie widoki queryinsights są dostępne wyłącznie w magazynie danych Fabric i w punkcie końcowym analizy SQL.
W jaki sposób podobne zapytania są agregowane w celu generowania szczegółowych informacji?
Zapytania są uznawane za takie same przez szczegółowe informacje o zapytaniach, jeśli zapytania mają ten sam kształt, nawet jeśli predykaty mogą być inne.
Kolumnę query hash w widokach można użyć do analizowania podobnych zapytań i przechodzenia do szczegółów poszczególnych wykonań.
Na przykład następujące zapytania są traktowane tak samo po sparametryzowanym predykacie:
SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';
oraz
SELECT * FROM Orders
WHERE OrderDate BETWEEN '2000-07-01' AND '2006-07-31';
Przykłady
Identyfikowanie zapytań uruchamianych przez Ciebie w ciągu ostatnich 30 minut
Poniższe zapytanie używa funkcji queryinsights.exec_requests_history i wbudowanej USER_NAME() funkcji, która zwraca bieżącą nazwę użytkownika sesji.
SELECT * FROM queryinsights.exec_requests_history
WHERE start_time >= DATEADD(MINUTE, -30, GETUTCDATE())
AND login_name = USER_NAME();
Identyfikuj zapytania najbardziej obciążające CPU według czasu CPU
Poniższe zapytanie zwraca 100 pierwszych zapytań według przydzielonego czasu procesora CPU.
SELECT TOP 100 distributed_statement_id, query_hash, allocated_cpu_time_ms, label, command
FROM queryinsights.exec_requests_history
ORDER BY allocated_cpu_time_ms DESC;
Określ, które zapytania skanują najwięcej danych ze źródła zdalnego zamiast z pamięci podręcznej
Możesz określić, czy duże skanowanie danych podczas wykonywania zapytania spowalnia zapytanie i podejmuje odpowiednie decyzje w celu dostosowania kodu zapytania. Ta analiza umożliwia porównanie różnych wykonań zapytań i określenie, czy wariancja ilości skanowanych danych jest przyczyną zmian wydajności.
Ponadto możesz ocenić użycie pamięci podręcznej, analizując sumę wartości data_scanned_memory_mb i data_scanned_disk_mb oraz porównując ją z wartością data_scanned_remote_storage_mb dla poprzednich wykonań.
Uwaga
Przeskanowane wartości danych mogą nie uwzględniać danych przeniesionych w pośrednich etapach wykonywania zapytania. W niektórych przypadkach rozmiar przeniesionych danych i procesora CPU wymaganego do przetworzenia może być większy niż wskazuje zeskanowana wartość danych.
Zeskanowane wartości są wyświetlane jako 0 dla instrukcji COPY INTO.
SELECT distributed_statement_id, query_hash, data_scanned_remote_storage_mb, data_scanned_memory_mb, data_scanned_disk_mb, label, command
FROM queryinsights.exec_requests_history
ORDER BY data_scanned_remote_storage_mb DESC;
Identyfikowanie najczęściej uruchamianych zapytań przy użyciu podciągu w tekście zapytania
Poniższe zapytanie zwraca najnowsze zapytania pasujące do określonego ciągu znaków, uporządkowane według liczby pomyślnych wykonań w kolejności malejącej.
SELECT * FROM queryinsights.frequently_run_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY number_of_successful_runs DESC;
Identyfikowanie długotrwałych zapytań przy użyciu podciągów w tekście zapytania
Poniższe zapytanie zwraca zapytania zgodne z określonym ciągiem uporządkowanym przez średni czas wykonywania zapytania malejąco.
SELECT * FROM queryinsights.long_running_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY median_total_elapsed_time_ms DESC;
Widoki analizy zapytań
- queryinsights.exec_requests_history
- queryinsights.exec_sessions_history
- queryinsights.long_running_queries
- queryinsights.frequently_run_queries
- queryinsights.sql_pool_insights
- queryinsights.external_api_call_stats