Spørringsinnsikt i datalager for stoff
Gjelder for:✅ SQL Analytics-endepunkt og Warehouse i Microsoft Fabric
I Microsoft Fabric er funksjonen for spørringsinnsikt en skalerbar, bærekraftig og utvidbar løsning for å forbedre SQL-analyseopplevelsen. Med historiske spørringsdata, aggregert innsikt og tilgang til faktisk spørringstekst kan du analysere og justere spørringsytelsen. QI gir informasjon om spørringer som bare kjøres i en brukers kontekst, systemspørringer vurderes ikke.
Funksjonen for spørringsinnsikt gir en sentral plassering for historiske spørringsdata og handlingsrettet innsikt i 30 dager, slik at du kan ta informerte beslutninger for å forbedre ytelsen til lageret eller SQL-analyseendepunktet. Når en SQL-spørring kjører i Microsoft Fabric, samler og konsoliderer spørringsinnsiktsfunksjonen utførelsesdataene, noe som gir deg verdifull informasjon. Du kan vise fullstendig spørringstekst for administrator-, medlems- og bidragsyterroller.
- Historiske spørringsdata: Funksjonen for spørringsinnsikt lagrer historiske data om spørringskjøringer, slik at du kan spore ytelsesendringer over tid. Systemspørringer lagres ikke i spørringsinnsikt.
- Aggregert innsikt: Funksjonen for spørringsinnsikt aggregerer spørringskjøringsdata til innsikter som er mer gjennomførbare, for eksempel identifisering av langvarige spørringer eller de fleste aktive brukere. Disse aggregasjonene er basert på spørringsfiguren og forklares videre i Hvordan aggregeres lignende spørringer for å generere innsikt?.
Før du starter
Du bør ha tilgang til et SQL Analytics-endepunkt eller Warehouse i et premium kapasitetsområde med bidragsytere eller høyere tillatelser.
Når trenger du spørringsinnsikt?
Funksjonen for spørringsinnsikt tar for seg flere spørsmål og bekymringer knyttet til spørringsytelse og databaseoptimalisering, inkludert:
Spørringsytelsesanalyse
- Hva er den historiske ytelsen til spørringene våre?
- Er det noen langvarige spørringer som trenger oppmerksomhet?
- Kan vi identifisere spørringene som forårsaker flaskehalser for ytelse?
Spørringsoptimalisering og justering
- Hvilke spørringer kjøres ofte, og kan ytelsen forbedres?
- Kan vi identifisere spørringer som har mislyktes eller blitt avbrutt?
- Kan vi spore endringer i spørringsytelse over tid?
- Er det noen spørringer som konsekvent yter dårlig?
Overvåking av brukeraktivitet
- Hvem sendte inn en bestemt spørring?
- Hvem er de mest aktive brukerne eller brukerne med de mest langvarige spørringene?
Det finnes tre systemvisninger for å gi svar på disse spørsmålene:
queryinsights.exec_requests_history (Transact-SQL)
- Returnerer informasjon om hver fullførte SQL-forespørsel/spørring.
queryinsights.exec_sessions_history (Transact-SQL)
- Returnerer informasjon om vanlige spørringer.
queryinsights.long_running_queries (Transact-SQL)
- Returnerer informasjonen om spørringer etter kjøringstidspunkt for spørring.
queryinsights.frequently_run_queries (Transact-SQL)
- Returnerer informasjon om vanlige spørringer.
Hvor kan du se spørringsinnsikt?
Autogenererte visninger er under queryinsights
skjemaet i SQL Analytics-endepunktet og Warehouse. Finn for eksempel spørringsinnsiktsvisninger under Skjemaer, spørringssyn, Visninger i Stoffutforsker for et lager.
Når spørringen er fullført, ser du kjøringsdataene i queryinsights
visningene til lager- eller SQL-analyseendepunktet du var koblet til. Hvis du kjører en spørring på tvers av WH_2
databaser mens du er i konteksten til , vises spørringen i spørringsinnsikten til WH_2
. Fullførte spørringer kan ta opptil 15 minutter å vises i spørringsinnsikt, avhengig av den samtidige arbeidsbelastningen som kjøres. Tiden det tar for spørringer å vises i spørringsinnsikt, øker med økning i samtidige spørringer som kjøres.
Hvordan aggregeres lignende spørringer for å generere innsikt?
Spørringer betraktes som de samme av spørringsinnsiktene hvis spørringene har samme figur, selv om predikatene kan være forskjellige.
Du kan bruke kolonnen i visningene til å analysere lignende spørringer og drille query hash
ned til hver kjøring.
Følgende spørringer anses for eksempel som de samme etter at predikatene er parameteriserte:
SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';
og
SELECT * FROM Orders
WHERE OrderDate BETWEEN '2000-07-01' AND '2006-07-31';
Eksempler
Identifisere spørringer som kjøres av deg i løpet av de siste 30 minuttene
Følgende spørring bruker queryinsights.exec_requests_history
og den innebygde USER_NAME()
funksjonen, som returnerer gjeldende øktbrukernavn.
SELECT * FROM queryinsights.exec_requests_history
WHERE start_time >= DATEADD(MINUTE, -30, GETUTCDATE())
AND login_name = USER_NAME();
Identifisere spørringer som kjører oftest ved hjelp av en delstreng i spørringsteksten
Følgende spørring returnerer de nyeste spørringene som samsvarer med en bestemt streng, sortert etter antall vellykkede kjøringer synkende.
SELECT * FROM queryinsights.frequently_run_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY number_of_successful_runs DESC;
Identifisere langvarige spørringer ved hjelp av en delstreng i spørringsteksten
Følgende spørring returnerer spørringene som samsvarer med en bestemt streng, sortert etter median spørringskjøringstid synkende.
SELECT * FROM queryinsights.long_running_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY median_total_elapsed_time_ms DESC;