Azure Advisor-rekommendationer för dedikerad SQL-pool i Azure Synapse Analytics

Den här artikeln beskriver de dedikerade rekommendationer för SQL-pooler som är tillgängliga i Azure Advisor.

Dedikerad SQL-pool ger rekommendationer för att säkerställa att arbetsbelastningen för informationslagret är konsekvent optimerad för prestanda. Rekommendationer är nära integrerade med Azure Advisor för att ge dig bästa praxis direkt inom Azure Portal. Dedikerad SQL-pool samlar in telemetri- och ytrekommendationer för din aktiva arbetsbelastning varje dag. Rekommendationsscenarierna som stöds beskrivs nedan tillsammans med hur du tillämpar rekommenderade åtgärder.

Du kan kontrollera dina rekommendationer idag!

Skjuvade data

Dataförskjutning kan orsaka ytterligare flaskhalsar i dataförflyttningar eller resurser när du kör arbetsbelastningen. Följande dokumentation beskriver hur du identifierar datasnedvridning och förhindrar att det sker genom att välja en optimal distributionsnyckel.

Ingen eller inaktuell statistik

Att ha suboptimal statistik kan allvarligt påverka frågeprestanda eftersom det kan orsaka att SQL-frågeoptimeraren genererar suboptimala frågeplaner. I följande dokumentation beskrivs metodtipsen för att skapa och uppdatera statistik:

Kör följande T-SQL-skript för att se listan över tabeller som påverkas av dessa rekommendationer. Advisor kör kontinuerligt samma T-SQL-skript för att generera dessa rekommendationer.

Replikera tabeller

För rekommendationer för replikerade tabeller identifierar Advisor tabellkandidater baserat på följande fysiska egenskaper:

  • Storlek på replikerad tabell
  • Antal kolumner
  • Tabelldistributionstyp
  • Antal partitioner

Advisor utnyttjar kontinuerligt arbetsbelastningsbaserad heuristik som t.ex. tabellåtkomstfrekvens, rader som returneras i genomsnitt och tröskelvärden runt informationslagerstorlek och aktivitet för att säkerställa att rekommendationer av hög kvalitet genereras.

I följande avsnitt beskrivs arbetsbelastningsbaserad heuristik som du kan hitta i Azure Portal för varje replikerad tabellrekommendering:

  • Genomsökning avg – den genomsnittliga procentandelen rader som returnerats från tabellen för varje tabellåtkomst under de senaste sju dagarna
  • Frekvent läsning, ingen uppdatering – anger att tabellen inte har uppdaterats under de senaste sju dagarna samtidigt som åtkomstaktiviteten visas
  • Läs-/uppdateringsförhållande – förhållandet mellan hur ofta tabellen användes i förhållande till när den uppdateras under de senaste sju dagarna
  • Aktivitet – mäter användningen baserat på åtkomstaktivitet. Den här aktiviteten jämför tabellåtkomstaktiviteten i förhållande till den genomsnittliga tabellåtkomstaktiviteten i informationslagret under de senaste sju dagarna.

För närvarande visar Advisor bara högst fyra replikerade tabellkandidater samtidigt med grupperade kolumnlagringsindex som prioriterar den högsta aktiviteten.

Viktigt

Rekommendationen för replikerad tabell är inte ett idiotsäkert bevis och tar inte hänsyn till dataförflyttningsåtgärder. Vi arbetar med att lägga till detta som heuristik men under tiden bör du alltid verifiera din arbetsbelastning när du har tillämpat rekommendationen. Mer information om replikerade tabeller finns i följande dokumentation.

Anpassningsbar cacheanvändning (Gen2)

När du har en stor arbetsuppsättning kan du uppleva en låg cacheträffprocent och hög cacheanvändning. I det här scenariot bör du skala upp för att öka cachekapaciteten och köra arbetsbelastningen igen. Mer information finns i följande dokumentation.

Tempdb-konkurrens

Frågeprestanda kan försämras när det finns hög tempdb-konkurrens. Tempdb-konkurrens kan uppstå via användardefinierade temporära tabeller eller när det förekommer en stor mängd dataflytt. I det här scenariot kan du skala för mer tempdb-allokering och konfigurera resursklasser och arbetsbelastningshantering för att ge mer minne till dina frågor.

Felaktig konfiguration av datainläsning

Du bör alltid läsa in data från ett lagringskonto i samma region som din dedikerade SQL-pool för att minimera svarstiden. Använd COPY-instruktionen för datainmatning med högt dataflöde och dela upp mellanlagrade filer i ditt lagringskonto för att maximera dataflödet. Om du inte kan använda COPY-instruktionen kan du använda SQLBulkCopy-API:et eller bcp med en hög batchstorlek för bättre dataflöde. Mer information finns i Metodtips för datainläsning .