Dela via


Frågeprofil

Du kan använda en frågeprofil för att visualisera information om en frågekörning. Frågeprofilen hjälper dig att felsöka prestandaflaskhalsar under frågans körning. Till exempel:

  • Du kan visualisera varje frågeaktivitet och dess relaterade mått, till exempel den tid som spenderas, antalet rader som bearbetas, rader som bearbetas och minnesförbrukning.
  • Du kan snabbt identifiera den långsammaste delen av en frågekörning och utvärdera effekterna av ändringar i frågan.
  • Du kan identifiera och åtgärda vanliga misstag i SQL-instruktioner, till exempel exploderande kopplingar eller fullständiga tabellgenomsökningar.

Viktigt!

Tiden som registrerats i frågehistoriken för en SQL-fråga är bara den tid som SQL-lagret faktiskt ägnar åt att köra frågan. Den registrerar inte några ytterligare kostnader som är associerade med att göra sig redo att köra frågan, till exempel interna köer eller ytterligare tid relaterad till dataöverförings- och nedladdningsprocessen.

Krav

Om du vill visa en frågeprofil måste du antingen vara ägare till frågan eller så måste du ha behörigheten CAN MANAGE på SQL-informationslagret som körde frågan.

Visa en frågeprofil

När du har kört en fråga i SQL-redigeraren eller i en notebook-fil kan du öppna frågeprofilen genom att klicka på den förflutna tiden längst ned i utdata.

Öppna frågehistorik från redigeringsprogram eller notebook-utdata

Du kan också visa frågeprofilen från frågehistoriken på följande sätt:

  1. Visa frågehistorik.

  2. Klicka på namnet på en fråga. En översikt över frågemått visas.

    Enkel vy för frågekörningssammanfattning

  3. Klicka på Se frågeprofil.

    Kommentar

    Om frågeprofilen inte är tillgänglig visas ingen profil för den här frågan. En frågeprofil är inte tillgänglig för frågor som körs från frågecachen. Om du vill kringgå frågecachen gör du en trivial ändring av frågan, till exempel att ändra eller ta bort LIMIT.

  4. Om du vill visa frågeprofilen i grafvyn (standard) klickar du på Diagramvy. Om du vill visa frågeprofilen som ett träd klickar du på Trädvy.

    • Diagramvyn är optimerad för att visualisera hur data flödar från en nod till en annan.
    • Trädvyn är optimerad för att snabbt hitta problem med frågans prestanda, till exempel att identifiera den operator som körs längst.
  5. I diagramvyn eller trädvyn kan du klicka på någon av flikarna överst på sidan för att visa information om var och en av frågans uppgifter.

    • Tidsåtgång: Summan av körningstiden som spenderas av alla aktiviteter för varje åtgärd.
    • Rader: Antalet och storleken på de rader som påverkas av var och en av frågans uppgifter.
    • Högsta minne: Det högsta minnet som var och en av frågans uppgifter förbrukade.

    Kommentar

    Vissa icke-fotonåtgärder körs som en grupp och delar vanliga mått. I det här fallet har alla underaktiviteter samma värde som den överordnade aktiviteten för ett visst mått.

  6. Om en aktivitet har underaktiviteter i grafvyn klickar du på en nod för att visa dess information. I trädvyn kan du klicka för > att expandera den.

  7. Varje uppgifts åtgärd visas. Som standard döljs uppgifter och mått för vissa åtgärder. Dessa åtgärder är sannolikt inte orsaken till flaskhalsar i prestanda. Om du vill se information om alla åtgärder och om du vill se ytterligare mått klickar du Menyn Kebab överst på sidan och klickar sedan på Aktivera utförligt läge. De vanligaste åtgärderna är:

    • Genomsökning: Data lästes från en datakälla och utdata som rader.
    • Koppling: Rader från flera relationer kombinerades (interfolierade) till en enda uppsättning rader.
    • Union: Rader från flera relationer som använder samma schema sammanfogades till en enda uppsättning rader.
    • Shuffle: Data omfördelades eller partitionerades om. Shuffle-åtgärder är dyra när det gäller resurser eftersom de flyttar data mellan exekutorer i klustret.
    • Hash/sortering: Rader grupperades efter en nyckel och utvärderades med hjälp av en mängdfunktion som SUM, COUNTeller MAX inom varje grupp.
    • Filter: Indata filtreras enligt ett villkor, till exempel av en WHERE sats, och en delmängd rader returneras.
    • (Återanvänds) Exchange: En Shuffle eller Broadcast Exchange används för att omdistribuera data mellan klusternoderna baserat på önskad partitionering.
    • Insamlingsgräns: Antalet rader som returnerades trunkerades med hjälp av en LIMIT instruktion.
    • Ta ordnade och projekt: De översta N raderna i frågeresultatet returnerades.
  8. Om du vill visa frågeprofilen i Apache Spark-användargränssnittet klickar du Menyn Kebab överst på sidan och klickar sedan på Öppna i Spark-användargränssnittet.

  9. Stäng den importerade frågeprofilen genom att klicka på X överst på sidan.

Mer information om den information som är tillgänglig i frågeprofilen finns i Visa information om frågeprofilen.

Visa information om frågeprofilen

Frågeprofilen visar frågans uppgifter på den översta nivån i omvänd ordning, med den sista aktiviteten i listan först. Till vänster visar tre kolumner aktivitetssekvensen, namnet på åtgärden och ett diagram över det valda måttet för aktiviteten. Följ de här stegen för att bekanta dig med de olika delarna av frågeprofilen.

  1. Klicka på Tid för att se varaktigheten för varje underavdelning.
  2. Klicka på Rader för att se antalet och storleken på rader som returneras av frågan.
  3. Klicka på Minne för att se det minne som förbrukas av varje frågeuppgift. Om aktiviteten har underaktiviteter kan du klicka > för att se information om varje underavdelning.
  4. Till höger klickar du på Översikt för att se frågans SQL-instruktion, status, start- och sluttider, varaktighet, den användare som körde frågan och det lager där frågan kördes.
  5. Klicka på en aktivitet om du vill visa information om aktiviteten, till exempel aktivitetens beskrivning och mått om aktivitetens varaktighet, förbrukat minne, antal och storlek på rader som returneras och ursprung.
  6. Om du vill stänga information om underuppgifter klickar du på X.
  7. Klicka på namnet på SQL-lagret för att gå till lagrets egenskaper.
  8. Om du vill visa frågeprofilen i Apache Spark-användargränssnittet klickar du Menyn Kebab överst på sidan och klickar sedan på Öppna i Spark-användargränssnittet.
  9. Stäng frågeprofilen genom att klicka på X överst på sidan.

Dela en frågeprofil

Så här delar du en frågeprofil med en annan användare:

  1. Visa frågehistorik.
  2. Klicka på frågans namn.
  3. Om du vill dela frågan har du två alternativ:
    • Om den andra användaren har behörigheten CAN MANAGE för frågan kan du dela URL:en för frågeprofilen med dem. Klicka på Dela. URL:en kopieras till Urklipp.
    • Annars kan du ladda ned frågeprofilen som ett JSON-objekt om den andra användaren inte har behörigheten CAN MANAGE eller inte är medlem i arbetsytan. Hämta. JSON-filen laddas ned till ditt lokala system.

Importera en frågeprofil

Så här importerar du JSON för en frågeprofil:

  1. Visa frågehistorik.

  2. Klicka på menyn för kebab Menyn Kebab längst upp till höger och välj Importera frågeprofil (JSON).

  3. I filläsaren väljer du JSON-filen som delades med dig och klickar på Öppna. JSON-filen laddas upp och frågeprofilen visas.

    När du importerar en frågeprofil läses den in dynamiskt i webbläsarsessionen och sparas inte på arbetsytan. Du måste importera den igen varje gång du vill visa den.

  4. Stäng den importerade frågeprofilen genom att klicka på X överst på sidan.

Nästa steg

  • Lär dig mer om att komma åt frågemått med hjälp av frågehistorik-API:et
  • Läs mer om frågehistorik