Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:✅ SQL-analysslutpunkt och lager i Microsoft Fabric
I Microsoft Fabric är frågeinsiktsfunktionen en skalbar, hållbar och utökningsbar lösning för att förbättra SQL-analysupplevelsen. Med historiska frågedata, aggregerade insikter och åtkomst till faktisk frågetext kan du analysera och finjustera frågeprestandan. QI innehåller information om frågor som endast körs i en användares kontext, systemfrågor beaktas inte.
Funktionen frågeinsikter ger en central plats för historiska frågedata och användbara insikter i 30 dagar, vilket hjälper dig att fatta välgrundade beslut för att förbättra prestandan för din lager- eller SQL-analysslutpunkt. När en SQL-fråga körs i Microsoft Fabric samlar frågeinsiktsfunktionen in och konsoliderar sina körningsdata, vilket ger dig värdefull information. Du kan visa fullständig frågetext för administratörs-, medlems- och deltagarroller.
- Historiska frågedata: Query Insights lagrar historiska data om frågekörningar så att du kan spåra prestandaändringar över tid. Systemfrågor lagras inte i frågeinsikter.
- Aggregerade insikter: Query Insights aggregerar frågekörningsdata till insikter som är mer användbara, till exempel att identifiera långvariga frågor eller de flesta aktiva användare. Dessa sammansättningar baseras på frågeformen. Mer information finns i Hur aggregeras liknande frågor för att generera insikter?
-
Warehouse Insights: Använd vyn för att förstå det övergripande hälsotillståndet för
sql_pool_insightsditt lager. Den här vyn innehåller mått och tryckindikatorer på poolnivå som hjälper dig att övervaka resursallokering och diagnostisera prestandaproblem mellan pooler.
Innan du börjar
Du bör ha åtkomst till en SQL-analysslutpunkt eller ett datalager i en arbetsyta i Premium-kapacitet med behörighet som Deltagare eller högre.
När behöver du frågeinsikter?
Funktionen query insights tar upp flera frågor och problem som rör frågeprestanda och databasoptimering, inklusive:
Analys av frågeprestanda
- Vad är den historiska prestandan för våra frågor?
- Finns det några långvariga frågor som behöver åtgärdas?
- Kan vi identifiera de frågor som orsakar flaskhalsar i prestanda?
- Användes cacheminnet för mina frågor?
- Vilka frågor förbrukar mest CPU?
Frågeoptimering och justering
- Vilka frågor körs ofta och kan deras prestanda förbättras?
- Kan vi identifiera frågor som misslyckades eller avbröts?
- Kan vi spåra ändringar i frågeprestanda över tid?
- Finns det några frågor som konsekvent presterar dåligt?
Övervakning av användaraktivitet
- Vem skickade en viss fråga?
- Vilka är de mest aktiva användarna eller de användare som har de mest långvariga frågorna?
SQL-pool och resursövervakning
- Var min SQL-pool under belastning under frågeexekveringen?
- Hur ofta har poolen upplevt tryck under de senaste 24 timmarna?
- Har det gjorts några nyligen genomförda ändringar i arbetsytekapaciteten eller poolkonfigurationen?
- Vilka pooler förbrukar den högsta procentandelen resurser?
- Kan jag korrelera tryckhändelser med långsamma frågor?
- Hur kan jag identifiera trender i pooltryck över tid?
Följande systemvyer ger svar på dessa frågor:
queryinsights.exec_requests_history
- Returnerar information om varje slutförd SQL-begäran/fråga.
queryinsights.exec_sessions_history
- Returnerar information om slutförda sessioner.
queryinsights.long_running_queries
- Returnerar information om frågor sorterade efter frågekörningstid.
queryinsights.frequently_run_queries
- Returnerar information om frågor som körs ofta.
queryinsights.sql_pool_insights
- Returnerar information om lagerresursallokering, konfigurationsändringar och tryck.
queryinsights.external_api_call_stats
- Returnerar funktionsnivådiagnostik för frågor som anropar externa API:er via AI-funktioner. Vyn innehåller en rad för varje distinkt extern funktion som används av en fråga.
Var kan du se frågeinsikter?
Autogenererade vyer finns under queryinsights schemat i SQL Analytics-slutpunkten och warehouse. I Fabric Explorer för ett Warehouse hittar du till exempel vyer för frågeinsikter under Schemas, queryinsights, Views.
När frågan har körts klart ser du körningsdata i queryinsights-vyerna för den Warehouse- eller SQL-analys-slutpunkt som du var ansluten till. Om du kör en databasövergripande fråga i kontexten för WH_2, visas din fråga i frågeinsikterna för WH_2. Det kan ta upp till 15 minuter innan slutförda frågor visas i frågeinsikter, beroende på den samtidiga arbetsbelastningen. Den tid det tar för frågor att visas i frågeinsikter ökar med en ökning av samtidiga frågor som körs.
Alla queryinsights vyer är endast tillgängliga i Fabric Data Warehouse och SQL-analysändpunkten.
Hur aggregeras liknande frågor för att generera insikter?
Frågor anses vara desamma av Query Insights om frågorna har samma form, även om predikaten kan vara olika.
Du kan använda kolumnen query hash i vyerna för att analysera liknande frågor och borra ned till varje körning.
Följande frågor anses till exempel vara desamma när deras predikat parametriseras:
SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';
och
SELECT * FROM Orders
WHERE OrderDate BETWEEN '2000-07-01' AND '2006-07-31';
Exempel
Identifiera frågor som du har kört under de senaste 30 minuterna
Följande fråga använder queryinsights.exec_requests_history och den inbyggda USER_NAME() funktionen, som returnerar ditt aktuella sessionsanvändarnamn.
SELECT * FROM queryinsights.exec_requests_history
WHERE start_time >= DATEADD(MINUTE, -30, GETUTCDATE())
AND login_name = USER_NAME();
Identifiera de vanligaste processorkrävande frågorna efter CPU-tid
Följande fråga returnerar de 100 viktigaste frågorna efter allokerad CPU-tid.
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;
Identifiera vilka frågor som söker igenom de flesta data från fjärrplatsen i stället för cacheminnet
Du kan avgöra om omfattande dataskanning vid frågekörning gör att frågan går långsammare och fatta beslut om hur du ska anpassa frågekoden därefter. Med den här analysen kan du jämföra olika frågekörningar och identifiera om variansen i mängden data som genomsöks är orsaken till prestandaändringar.
Dessutom kan du bedöma cacheanvändningen genom att undersöka summan av data_scanned_memory_mb och data_scanned_disk_mb och jämföra den med data_scanned_remote_storage_mb för tidigare körningar.
Kommentar
Värdena för genomsökta data kanske inte tar hänsyn till de data som flyttades under de mellanliggande stegen i frågekörningen. I vissa fall kan storleken på de data som flyttas och den CPU-kraft som krävs för att bearbeta vara större än vad värdet för den genomsökta datan anger.
Data skannade värden visas som 0 för COPY INTO instruktioner.
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;
Identifiera de frågor som körs oftast med hjälp av en delsträng i frågetexten
Följande fråga returnerar de senaste frågorna som matchar en viss sträng, sorterade efter antalet lyckade körningar i fallande ordning.
SELECT * FROM queryinsights.frequently_run_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY number_of_successful_runs DESC;
Identifiera långvariga frågor med hjälp av en delsträng i frågetexten
Följande fråga returnerar de frågor som matchar en viss sträng, sorterade efter frågans medianexekveringstid i fallande ordning.
SELECT * FROM queryinsights.long_running_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY median_total_elapsed_time_ms DESC;
Vy över frågeinsikter
- 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