Query's uitvoeren op inzichten in Fabric-datawarehousing
Van toepassing op:✅ SQL Analytics-eindpunt en -magazijn in Microsoft Fabric
In Microsoft Fabric is de functie queryinzichten een schaalbare, duurzame en uitbreidbare oplossing om de SQL-analyse-ervaring te verbeteren. Met historische querygegevens, geaggregeerde inzichten en toegang tot werkelijke querytekst kunt u uw queryprestaties analyseren en afstemmen. QI biedt informatie over query's die alleen worden uitgevoerd in de context van een gebruiker. Systeemquery's worden niet overwogen.
De functie queryinzichten biedt een centrale locatie voor historische querygegevens en bruikbare inzichten gedurende 30 dagen, zodat u weloverwogen beslissingen kunt nemen om de prestaties van uw warehouse- of SQL-analyse-eindpunt te verbeteren. Wanneer een SQL-query wordt uitgevoerd in Microsoft Fabric, verzamelt en consolideert de functie queryinzichten de uitvoeringsgegevens, zodat u waardevolle informatie krijgt. U kunt volledige querytekst weergeven voor de rollen Beheerder, Lid en Inzender.
- Historische querygegevens: met de functie queryinzichten worden historische gegevens over queryuitvoeringen opgeslagen, zodat u in de loop van de tijd prestatiewijzigingen kunt bijhouden. Systeemquery's worden niet opgeslagen in query-inzichten.
- Geaggregeerde inzichten: Met de functie queryinzichten worden queryuitvoeringsgegevens samengevoegd tot inzichten die beter kunnen worden uitgevoerd, zoals het identificeren van langlopende query's of de meeste actieve gebruikers. Deze aggregaties zijn gebaseerd op de queryshape en worden verder uitgelegd in Hoe worden vergelijkbare query's samengevoegd om inzichten te genereren?
Voordat u begint
U moet toegang hebben tot een SQL-analyse-eindpunt of -warehouse binnen een Premium-capaciteitswerkruimte met inzender- of hogere machtigingen.
Wanneer hebt u query-inzichten nodig?
De functie queryinzichten heeft betrekking op verschillende vragen en problemen met betrekking tot queryprestaties en databaseoptimalisatie, waaronder:
Analyse van queryprestaties
- Wat zijn de historische prestaties van onze query's?
- Zijn er langlopende query's die aandacht nodig hebben?
- Kunnen we de query's identificeren die prestatieknelpunten veroorzaken?
Queryoptimalisatie en -afstemming
- Welke query's worden vaak uitgevoerd en kunnen de prestaties worden verbeterd?
- Kunnen we query's identificeren die zijn mislukt of geannuleerd?
- Kunnen we wijzigingen in queryprestaties in de loop van de tijd bijhouden?
- Zijn er query's die consistent slecht presteren?
Bewaking van gebruikersactiviteiten
- Wie heeft een bepaalde query ingediend?
- Wie zijn de meest actieve gebruikers of de gebruikers met de meest langlopende query's?
Er zijn drie systeemweergaven om antwoord te geven op deze vragen:
queryinsights.exec_requests_history (Transact-SQL)
- Retourneert informatie over elke voltooide SQL-aanvraag/query.
queryinsights.exec_sessions_history (Transact-SQL)
- Retourneert informatie over vaak uitgevoerde query's.
queryinsights.long_running_queries (Transact-SQL)
- Retourneert de informatie over query's op uitvoeringstijd van query's.
queryinsights.frequently_run_queries (Transact-SQL)
- Retourneert informatie over vaak uitgevoerde query's.
Waar kunt u query-inzichten zien?
Automatisch gegenereerde weergaven bevinden zich onder het schema in het queryinsights
SQL Analytics-eindpunt en Warehouse. Zoek in Fabric Explorer van een magazijn bijvoorbeeld queryinzichtweergaven onder Schema's, queryinsights, Weergaven.
Nadat de uitvoering van uw query is voltooid, ziet u de uitvoeringsgegevens in de queryinsights
weergaven van het warehouse- of SQL-analyse-eindpunt waaraan u bent verbonden. Als u een query voor meerdere databases uitvoert in de context van WH_2
, wordt uw query weergegeven in de queryinzichten van WH_2
. Het kan tot 15 minuten duren voordat voltooide query's worden weergegeven in queryinzichten, afhankelijk van de gelijktijdige workload die wordt uitgevoerd. De tijd die nodig is om query's weer te geven in queryinzichten, neemt toe met een toename in gelijktijdige query's die worden uitgevoerd.
Hoe worden vergelijkbare query's samengevoegd om inzichten te genereren?
Query's worden door de Query Insights als dezelfde vorm beschouwd als de query's dezelfde vorm hebben, zelfs als de predicaten mogelijk anders zijn.
U kunt de query hash
kolom in de weergaven gebruiken om vergelijkbare query's te analyseren en in te zoomen op elke uitvoering.
De volgende query's worden bijvoorbeeld als hetzelfde beschouwd nadat hun predicaten zijn geparameteriseerd:
SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';
en
SELECT * FROM Orders
WHERE OrderDate BETWEEN '2000-07-01' AND '2006-07-31';
Voorbeelden
Identificeer query's die in de afgelopen 30 minuten door u worden uitgevoerd
De volgende query gebruikt queryinsights.exec_requests_history
en de ingebouwde USER_NAME()
functie, die de gebruikersnaam van uw huidige sessie retourneert.
SELECT * FROM queryinsights.exec_requests_history
WHERE start_time >= DATEADD(MINUTE, -30, GETUTCDATE())
AND login_name = USER_NAME();
De meest frequent uitgevoerde query's identificeren met behulp van een subtekenreeks in de querytekst
De volgende query retourneert de meest recente query's die overeenkomen met een bepaalde tekenreeks, gesorteerd op het aantal geslaagde uitvoeringen aflopend.
SELECT * FROM queryinsights.frequently_run_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY number_of_successful_runs DESC;
Langlopende query's identificeren met behulp van een subtekenreeks in de querytekst
De volgende query retourneert de query's die overeenkomen met een bepaalde tekenreeks, gesorteerd op de uitvoeringstijd van de mediaanquery, aflopend.
SELECT * FROM queryinsights.long_running_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY median_total_elapsed_time_ms DESC;