Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server 2016 (13.x) e versioni
successive di Istanza gestita di SQL di Azure
Questo articolo discute considerazioni specifiche sulle prestazioni quando si utilizzano tabelle temporali ottimizzate per la memoria versionate per il sistema.
Quando si aggiunge il controllo elle versioni di sistema a una tabella non temporale è prevedibile un impatto sulle prestazioni nelle operazioni di aggiornamento ed eliminazione perché la tabella di cronologia viene aggiornata automaticamente.
Considerazioni sulle prestazioni
Tutti gli aggiornamenti e le eliminazioni vengono registrati in una tabella di cronologia interna ottimizzata per la memoria. Potresti sperimentare un consumo di memoria inaspettato se il tuo carico di lavoro utilizza pesantemente queste due operazioni. Tenere presente quanto segue:
Non eseguire eliminazioni massicce dalla tabella corrente con un unico passaggio. Valutare l'eliminazione dei dati in più lotti, con uno svuotamento dei dati richiamato manualmente tra un lotto e l'altro, tramite sp_xtp_flush_temporal_history, oppure mentre
SYSTEM_VERSIONING = OFF.Non effettuare aggiornamenti massicci di tabella in una volta, perché può utilizzare il doppio della memoria necessaria per aggiornare una tabella non ottimizzata per la memoria temporale. Questo raddoppio del consumo di memoria è temporaneo, perché l'attività di svuotamento dei dati viene eseguita regolarmente per mantenere il consumo di memoria delle tabelle di staging interne entro i limiti previsti in condizioni di regime. Il limite è il 10 percento del consumo di memoria della tabella temporale corrente. È consigliabile eseguire gli aggiornamenti massicci in più batch o mentre
SYSTEM_VERSIONING = OFF, ad esempio usando gli aggiornamenti per impostare i valori predefiniti per le colonne aggiunte.
Il periodo di attivazione dell'attività di scaricamento dei dati non è configurabile, ma è possibile eseguire manualmente sp_xtp_flush_temporal_history quando necessario.
Considera di usare il clustered columnstore come opzione di archiviazione per una tabella della storia basata su disco, specialmente se prevedi di eseguire query analitiche su dati storici che utilizzano funzioni aggregate o di finestre. In tal caso, un indice columnstore clusterizzato è una scelta ottimale per la tabella della cronologia. Gli indici columnstore di cluster offrono una buona compressione dei dati e si comportano in modo semplice da inserire, in linea con la modalità di generazione dei dati di cronologia.
Contenuti correlati
- Tabelle temporali versionate a livello di sistema con tabelle ottimizzate per la memoria
- Creare una tabella temporale versione di sistema ottimizzata per la memoria
- Lavorare con tabelle temporali ottimizzate per la memoria e versionate a livello di sistema
- Monitorare tabelle temporali ottimizzate per la memoria e versionate a livello di sistema
- Tabelle temporali
- Verifiche di coerenza del sistema delle tabelle temporali
- Gestire la conservazione dei dati storici nelle tabelle temporali versionate dal sistema
- Funzioni e viste per i metadati delle tabelle temporali