Funzionalità per le prestazioni
Si inizierà esaminando alcune delle funzionalità per le prestazioni di Azure SQL a confronto con SQL Server.
Poiché il database SQL di Azure e Istanza gestita di SQL di Azure si basano sul motore di database di SQL Server, la maggior parte delle funzionalità disponibili in SQL Server è disponibile anche in Azure SQL. Esistono alcune funzionalità che hanno un impatto sulle prestazioni dei database da considerare quando si distribuisce e si configura Azure SQL. Tra cui capacità massime, indici, OLTP in memoria, partizioni, miglioramenti di SQL Server e funzionalità di prestazioni intelligenti.
Capacità di memoria, CPU e I/O
La scelta della distribuzione e del livello di servizio appropriati per il database SQL di Azure o Istanza gestita di SQL può essere importante per le prestazioni. Nel secondo modulo sono state illustrate le diverse opzioni di distribuzione per Azure SQL. È necessario tenere in considerazione queste importanti capacità massime nell'ambito della distribuzione:
- Il database SQL di Azure può supportare fino a 128 vCore, 4 TB di memoria e dimensioni dei database di 4 TB.
- L'opzione di distribuzione Hyperscale supporta database con dimensioni fino a 100 TB.
- Istanza gestita di SQL di Azure può supportare fino a 80 vCore, 400 GB di memoria e dimensioni dei database di 8 TB.
- Il numero di vCore e il livello di servizio influiscono anche su altre capacità delle risorse, ad esempio velocità massima dei log delle transazioni, operazioni di I/O al secondo, latenza di I/O e memoria.
- Gli oggetti processo Windows vengono usati per supportare determinati limiti delle risorse, ad esempio la memoria. Usare sys.dm_os_job_object per individuare le capacità effettive per la distribuzione.
Indici
Gli indici sono spesso fondamentali per le prestazioni di query sia per SQL Server che per Azure SQL. Di seguito sono riportati alcuni aspetti importanti da considerare sugli indici e Azure SQL:
- Tutti i tipi di indici, in cluster e non in cluster, sono supportati in Azure SQL.
- Gli indici online e ripristinabili sono completamente supportati. Gli indici online e ripristinabili possono essere fondamentali per la massima disponibilità.
- Gli indici columnstore sono disponibili in quasi tutti i livelli di servizio. Per le eccezioni, vedere la documentazione.
OLTP in memoria
Il fattore importante che caratterizza l'elaborazione delle transazioni on-line (OLTP) è un'applicazione che legge e scrive i dati con molte transazioni simultanee in tempo reale. OLTP in memoria è una funzionalità per le applicazioni sensibili alla latenza delle transazioni, ad esempio le applicazioni con un numero elevato di utenti simultanei che modificano i dati. Ecco alcuni punti importanti correlati a OLTP in memoria e Azure SQL:
- Le tabelle ottimizzate per la memoria sono disponibili solo nei livelli business critical.
- Il FILEGROUP ottimizzato per la memoria viene creato in via preliminare nel database SQL di Azure e in Istanza gestita di SQL al momento della creazione di un database (anche per i livelli per utilizzo generico).
- La quantità di memoria per le tabelle ottimizzate per la memoria è una percentuale del limite di memoria dipendente da vCore.
Partizioni
Con SQL Server, spesso si usano partizioni per le tabelle con un numero elevato di righe per migliorare le prestazioni dividendo i dati in base a una colonna della tabella. Considerare questi punti per le partizioni con Azure SQL:
- Le partizioni sono supportate per il database SQL di Azure e Istanza gestita di SQL.
- È possibile usare filegroup solo con partizioni in Istanza gestita di SQL.
Miglioramenti recenti delle prestazioni di SQL Server
Molte delle funzionalità di prestazioni introdotte a partire da SQL Server 2019, ad esempio l'elaborazione intelligente delle query (IQP), sono disponibili anche in database SQL di Azure e Istanza gestita di SQL di Azure. Esistono tuttavia alcune eccezioni. Ad esempio, tempdb
l'ottimizzazione dei metadati non è ancora disponibile per Azure SQL. Per un elenco definitivo del supporto delle funzionalità di IQP, vedere Funzionalità di elaborazione di query intelligenti.
Prestazioni intelligenti
Le prestazioni intelligenti riguardano funzionalità di Azure SQL che includono l'elaborazione intelligente delle query, la correzione automatica dei piani e l'ottimizzazione automatica (inclusi gli indici). Altre informazioni su queste funzionalità sono disponibili in un'unità successiva.