Linee guida per l'ottimizzazione delle prestazioni per il pool SQL serverless di Azure Synapse Analytics
Si applica a: Azure Synapse Analytics
Questo articolo illustra come migliorare le prestazioni per il pool SQL serverless di Azure Synapse Analytics.
Note
Esaminare l'elenco dei problemi noti attualmente attivi o risolti di recente in Azure Synapse Analytics.
Vedere le sezioni successive per informazioni su come ottenere prestazioni ottimali e prevenire errori correlati ai vincoli delle risorse nei pool SQL serverless di Azure Synapse Analytics.
Procedure consigliate e guide alla risoluzione dei problemi
Le informazioni e le strategie negli articoli seguenti consentono di ottenere prestazioni ottimali dal pool SQL serverless. È consigliabile usare questi articoli per esaminare i casi d'uso e risolvere i problemi comuni.
- Procedure consigliate per il pool SQL serverless in Azure Synapse Analytics
- Risolvere i problemi relativi al pool SQL serverless in Azure Synapse Analytics
Informazioni sul ridimensionamento nel pool SQL serverless
I pool SQL serverless non richiedono di selezionare manualmente le dimensioni corrette. Il sistema regola automaticamente le dimensioni in base ai requisiti di query e quindi gestisce l'infrastruttura e seleziona le dimensioni appropriate per la soluzione.
Linee guida per l'ottimizzazione delle prestazioni per i file Delta Lake
Per altre informazioni sull'ottimizzazione delle prestazioni per i file Delta Lake, vedere le risorse seguenti:
- Pagina della documentazione di Delta Lake.
- Che cos'è Delta Lake
- Eseguire query sui file Delta Lake usando il pool SQL serverless in Azure Synapse Analytics
Indicazioni per l'ottimizzazione delle prestazioni per i file CSV
Quando si eseguono query su file CSV in un pool SQL serverless, l'attività più importante per garantire prestazioni elevate consiste nel creare statistiche sulle tabelle esterne. Anche se le statistiche vengono create automaticamente nei file Parquet e CSV e accessibili tramite OPENQUERY()
, la lettura dei file CSV tramite tabelle esterne richiede di creare manualmente le statistiche.
Per informazioni più dettagliate sul ruolo delle statistiche nell'esecuzione di query su file CSV nei pool SQL serverless, vedere gli articoli seguenti:
- Esecuzione di query su file CSV
- Statistiche nel pool SQL serverless
- Creare manualmente le statistiche per i file CSV
- Timeout query scaduto
Suggerimenti per l'uso di Power BI e altri strumenti di creazione di report
Quando si usa Power BI e altri strumenti di creazione di report, è consigliabile seguire le procedure consigliate seguenti:
- Controllare sempre la posizione del tenant.
- Configurare una cache per un'esperienza utente ottimale.
- Evitare di restituire milioni di record a un dashboard.
- Usare gli aggiornamenti pianificati per evitare esecuzioni di query parallele che svuotano le risorse del pool sql serverless.
- Usare Spark per preaggregare query analitiche comuni. Questo approccio "write once/read many" consente di evitare query pesanti che vengono eseguite continuamente.
- Per i join tra archivi dati diversi: usare i filtri per evitare volumi di Big Data spostati nell'infrastruttura di Azure.
- Usare
Latin1_General_100_BIN2_UTF8
le regole di confronto per i tipi di dati di tipo carattere. Queste regole di confronto evitano il trasferimento di tutti i dati dall'archiviazione al pool SQL serverless eseguendo il push dei filtri quando gli strumenti leggono dall'archiviazione. - Usare le dimensioni ottimali, se si esegue il cast o la conversione dei dati in
char
ovarchar
durante l'esecuzione di una query. Se possibile, evitare di usareVARCHAR(MAX)
. - L'inferenza automatica converte i tipi di dati in un formato che potrebbe non essere ottimale. Usare la clausola
WITH
per ottimizzare i tipi di dati. - Le risorse del pool serverless di Azure Synapse SQL hanno limiti. L'esecuzione di query contemporaneamente utilizzerà le risorse. È comune vedere i dashboard di Power BI (PBI) che raggiungono i limiti delle risorse quando si verificano più aggiornamenti in parallelo. Gli aggiornamenti pianificati e i test di carico possono aiutare a evitare questo problema. Inoltre, l'uso di più aree di lavoro di Azure Synapse può soddisfare requisiti di concorrenza maggiori.
- È possibile eseguire la query
sys.columns
o usaresp_describe_first_result_set
eselect top 0 from <view>
per controllare i tipi di dati dopo aver creato una vista. Questo approccio è più veloce e meno costoso rispetto all'usoSELECT * FROM...
di . - Usare il generatore di istruzioni per creare automaticamente i formati di colonna ottimali per la query.
- Usare la
OPENJSON
funzione per esporre i dati JSON annidati come colonne. Tuttavia, se si usa anche ilAS JSON
comando , il tipo di colonna deve essereNVARCHAR(MAX)
. Questo approccio non è ideale per le prestazioni. L'opzione migliore consiste nell'usare la clausolaWITH
per esporre array annidati come colonne. - La chiave di partizione dell'archivio transazionale di Cosmos DB non viene usata nell'archivio analitico. In Collegamento ad Azure Synapse è ora possibile modellare i dati transazionali in modo da ottimizzare l'inserimento dati e le letture di punti.
Indicazioni aggiuntive e procedure consigliate
Categoria | Azioni o documentazione consigliate |
---|---|
Esplorazione dei dati | Archiviazione di Azure Archiviare i risultati delle query nell'archiviazione di Azure Data warehouse logico |
OPENROWSET e tabelle esterne | Funzione OPENROWSET Tabelle esterne Stored procedure Visualizzazioni Trasformazioni di dati |
Funzionalità T-SQL disponibili nei pool SQL serverless | Funzionalità T-SQL nei pool Azure Synapse |
Dichiarazione di non responsabilità sulle informazioni di terze parti
I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti