Prehľady dotazov v sklade údajov služby Fabric
Vzťahuje sa na:✅ koncový bod analýzy SQL a sklad v službe Microsoft Fabric
V službe Microsoft Fabric je funkcia prehľadov dotazov škálovateľným, udržateľným a rozšíriteľným riešením na vylepšenie možností analýzy SQL. Vďaka historickým údajom dotazu, agregovaným prehľadom a prístupu k skutočnému textu dotazu môžete analyzovať a ladiť výkon dotazov. QI poskytuje informácie o dotazoch spustených iba v kontexte používateľa, systémové dotazy sa nekladú do úvahy.
Funkcia Query insights (Prehľady dotazov) poskytuje centrálne umiestnenie historických údajov dotazu a prehľadov s akciami počas 30 dní a pomáha prijímať informované rozhodnutia na zvýšenie výkonu koncového bodu skladu alebo analýzy SQL. Keď je dotaz SQL spustený v službe Microsoft Fabric, funkcia prehľadov dotazov zhromažďuje a konsoliduje údaje o spustení, čím poskytuje hodnotné informácie. Úplný text dotazu môžete zobraziť pre roly Správca, Člen a Prispievateľ.
- Historické údaje dotazu: Funkcia prehľadov dotazov ukladá historické údaje o vykonaní dotazov, čo umožňuje sledovať zmeny výkonu v priebehu času. Systémové dotazy sa neukladajú do prehľadov dotazov.
- Agregované prehľady: Funkcia prehľadov dotazov agreguje údaje o spustení dotazu do prehľadov, ktoré možno vykonať s akciami, ako je napríklad identifikácia dlhotrvajúcich dotazov alebo najaktívnejších používateľov. Tieto agregácie sú založené na tvare dotazu a podrobnejšie ich vysvetľujeme v téme Ako sa podobné dotazy agregujú na generovanie prehľadov?.
Než začnete
Mali by ste mať prístup ku koncovému bodu alebo skladu analýzy SQL v pracovnom priestore kapacity Premium s prispievateľmi alebo vyššími povoleniami.
Kedy potrebujete prehľady dotazu?
Funkcia prehľadov dotazov sa zaoberá niekoľkými otázkami a problémami týkajúcimi sa výkonu dotazov a optimalizácie databázy vrátane týchto:
Analýza výkonu dotazov
- Aký je historický výkon našich dotazov?
- Existujú nejaké dlho spracúvané dotazy, ktoré si vyžadujú pozornosť?
- Je možné identifikovať dotazy, ktoré spôsobujú kritické miesta výkonu?
Optimalizácia a ladenie dotazov
- Ktoré dotazy sa často spúšťajú a možno zlepšiť ich výkon?
- Dajú sa identifikovať dotazy, ktoré zlyhali alebo boli zrušené?
- Môžeme sledovať zmeny výkonu dotazov v priebehu času?
- Existujú nejaké dotazy, ktoré konzistentne zle fungujú?
Monitorovanie aktivity používateľa
- Kto odoslal konkrétny dotaz?
- Kto sú najaktívnejšími používateľmi alebo používateľmi s najčastejšie spustenými dotazmi?
Na poskytnutie odpovedí na tieto otázky existujú tri systémové zobrazenia:
queryinsights.exec_requests_history (Transact-SQL)
- Vráti informácie o každej dokončenej požiadavke/dotaze SQL.
queryinsights.exec_sessions_history (Transact-SQL)
- Vráti informácie o často spúšťaní dotazov.
queryinsights.long_running_queries (Transact-SQL)
- Vráti informácie o dotazoch podľa času vykonania dotazu.
queryinsights.frequently_run_queries (Transact-SQL)
- Vráti informácie o často spúšťaní dotazov.
Kde sa zobrazujú prehľady dotazu?
Automaticky generované zobrazenia sa nachádzajú v schéme queryinsights
v koncovom bode analýzy SQL a v sklade. V Prieskumníkovi služby Fabric v sklade môžete napríklad vyhľadať zobrazenia prehľadov dotazov v časti Schémy, prehľady dotazov, Zobrazenia.
Po dokončení dotazu sa jeho údaje o spustení zobrazia v queryinsights
zobrazeniach koncového bodu analýzy Warehouse alebo SQL, ku ktorému ste boli pripojení. Ak spustíte dotaz krížovej databázy v kontexte WH_2
, dotaz sa zobrazí v prehľadoch dotazu WH_2
typu . Dokončenie dotazov môže v prehľadoch dotazov trvať až 15 minút, v závislosti od súbežného vyťaženia, ktoré sa vykonáva. Čas potrebný na to, aby sa dotazy zobrazovali v prehľadoch dotazov, sa zvyšuje s nárastom počtu súbežných dotazov, ktoré sa vykonávajú.
Ako sa podobné dotazy agregujú na generovanie prehľadov?
Dotazy považujú prehľady dotazov za rovnaké, ak majú dotazy rovnaký tvar, a to aj v prípade, že predikáty sa môžu líšiť.
Stĺpec v zobrazeniach query hash
môžete využiť na analýzu podobných dotazov a prechod na detaily jednotlivých spustení.
Napríklad nasledujúce dotazy sa považujú za rovnaké po parametrizácii ich predikátov:
SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';
a
SELECT * FROM Orders
WHERE OrderDate BETWEEN '2000-07-01' AND '2006-07-31';
Príklady
Identifikácia dotazov spustených vami za posledných 30 minút
Nasledujúci dotaz používa queryinsights.exec_requests_history
a vstavanú USER_NAME()
funkciu, ktorá vráti vaše aktuálne meno používateľa relácie.
SELECT * FROM queryinsights.exec_requests_history
WHERE start_time >= DATEADD(MINUTE, -30, GETUTCDATE())
AND login_name = USER_NAME();
Identifikácia najčastejšie spúšťaných dotazov pomocou podreťazca v texte dotazu
Nasledujúci dotaz vráti najnovšie dotazy, ktoré zodpovedajú určitému reťazcu, zoradené zostupne podľa počtu úspešných spustení.
SELECT * FROM queryinsights.frequently_run_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY number_of_successful_runs DESC;
Identifikácia dlhotrvajúcich dotazov pomocou podreťazca v texte dotazu
Nasledujúci dotaz vráti dotazy, ktoré zodpovedajú určitému reťazcu, zoradené zostupne podľa mediánu času vykonávania dotazu.
SELECT * FROM queryinsights.long_running_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY median_total_elapsed_time_ms DESC;