Udostępnij za pośrednictwem


Szczegółowe informacje o zapytaniach w magazynowaniu danych w sieci szkieletowej

Dotyczy:✅ punkt końcowy analizy SQL i magazyn 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: funkcja szczegółowych informacji o zapytaniach przechowuje historyczne dane dotyczące wykonywania zapytań, umożliwiając śledzenie zmian wydajności w czasie. Zapytania systemowe nie są przechowywane w szczegółowych danych zapytań.
  • Zagregowane szczegółowe informacje: funkcja szczegółowych informacji dotyczących zapytań agreguje dane wykonywania zapytań w celu uzyskania szczegółowych informacji, które są bardziej przydatne, 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?

Zanim rozpoczniesz

Musisz mieć dostęp do punktu końcowego analizy SQL lub magazynu w obszarze roboczym pojemności Premium z uprawnieniami współautora lub wyższymi uprawnieniami.

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 powodują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?

Istnieją trzy widoki systemowe umożliwiające uzyskanie odpowiedzi na następujące pytania:

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 sieci szkieletowej magazynu znajdź widoki szczegółowych informacji o zapytaniach w obszarze Schematy, queryinsights, Views.

Zrzut ekranu przedstawiający eksploratora sieci szkieletowej pokazujący, gdzie znaleźć widoki szczegółowych informacji o zapytaniach w obszarze Schematy, queryinsights, Views.

Po zakończeniu wykonywania zapytania zobaczysz jego dane wykonywania w queryinsights widokach punktu końcowego magazynu lub analizy SQL, z którym nawiązano połączenie. Jeśli uruchomisz zapytanie obejmujące wiele baz danych w kontekście WH_2, zapytanie zostanie wyświetlone w szczegółowych danych zapytania .WH_2 Wykonywanie zapytań może potrwać do 15 minut w szczegółowych danych zapytań w zależności od 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.

W jaki sposób podobne zapytania są agregowane w celu generowania szczegółowych informacji?

Zapytania są traktowane tak samo 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();

Identyfikowanie zapytań zużywających najwięcej procesora CPU według czasu procesora 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ślanie, które zapytania skanują większość danych zdalnego, a nie 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żna ocenić użycie pamięci podręcznej, sprawdzając sumę data_scanned_memory_mb wartości i data_scanned_disk_mb, i porównując ją z data_scanned_remote_storage_mb wartościami 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 procesor CPU wymagany do przetworzenia może być większy niż wartość przeskanowana przez dane.

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 uporządkowane według liczby pomyślnych wykonań malejących.

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;