Criteri di unione
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati
I criteri di unione definiscono se e in che modo gli extent (partizioni di dati) devono essere uniti.
Esistono due tipi di operazioni di merge: Merge
, che ricompila gli indici e Rebuild
, che esegue completamente il ripristino dei dati.
Entrambi i tipi di operazione comportano un singolo extent che sostituisce gli extent di origine.
Per impostazione predefinita, Rebuild
le operazioni sono preferite. Se sono presenti extent che non soddisfano i criteri per la ricompilazione, verrà effettuato un tentativo di unirli.
Nota
- L'assegnazione di tag agli extent che usano tag diversi
drop-by
causerà l'unione di tali extent, anche se è stato impostato un criterio di unione. Per altre informazioni, vedere Tag extent. - Gli extent la cui unione di tag supera la lunghezza di 1M caratteri non verranno uniti.
- Anche i criteri di partizionamento orizzontale del database o della tabella hanno effetto sul modo in cui gli extent vengono uniti.
Proprietà dei criteri di merge
I criteri di unione contengono le proprietà seguenti:
- RowCountUpperBoundForMerge:
- Il valore predefinito è 16.000.000.
- Numero massimo consentito di righe dell'extent unito.
- Si applica alle operazioni di merge, non alla ricompilazione.
- OriginalSizeMBUpperBoundForMerge:
- Il valore predefinito è 30.000.
- Dimensioni massime consentite originali (in MB) dell'extent unito.
- Si applica alle operazioni di merge, non alla ricompilazione.
- MaxExtentsToMerge:
- L’impostazione predefinita è 100.
- Numero massimo consentito di extent da unire in una singola operazione.
- Si applica alle operazioni di merge.
- Questo valore non deve essere modificato.
- AllowRebuild:
- Il valore predefinito è "true".
- Definisce se
Rebuild
le operazioni sono abilitate (in tal caso sono preferibili rispettoMerge
alle operazioni).
- AllowMerge:
- Il valore predefinito è "true".
- Definisce se
Merge
le operazioni sono abilitate, nel qual caso sono meno preferite rispettoRebuild
alle operazioni.
- MaxRangeInHours:
- Il valore predefinito è 24.
- Differenza massima consentita, in ore, tra due tempi di creazione di extent diversi, in modo che possano comunque essere uniti.
- I timestamp sono di creazione dell'extent e non sono correlati ai dati effettivi contenuti negli extent.
- Si applica alle operazioni merge e ricompila.
- Nelle viste materializzate: il valore predefinito è 336 (14 giorni), a meno che la recuperabilità non sia disabilitata nei criteri di conservazione effettivi della vista materializzata.
- Questo valore deve essere impostato in base ai criteri di conservazione effettivi SoftDeletePeriod o ai valori DataHotSpan dei criteri di cache. Prendere il valore inferiore di SoftDeletePeriod e DataHotSpan. Impostare il valore MaxRangeInHours su tra il 2 e il 3% di esso. Vedere gli esempi .
- Lookback:
- Definisce l'intervallo di tempo durante il quale gli extent vengono considerati per la ricompilazione/unione.
- Valori supportati:
Default
- Impostazione predefinita gestita dal sistema. Si tratta del valore consigliato e predefinito, il cui periodo è attualmente impostato su 14 giorni.All
- Tutti gli extent, caldo e freddo, sono inclusi.HotCache
- Sono inclusi solo gli extent ad accesso frequente.Custom
- Sono inclusi solo gli extent la cui età è inferiore a quella specificataCustomPeriod
.CustomPeriod
è un valore timespan nel formatodd.hh:mm
.
Esempio di criteri predefiniti
L'esempio seguente illustra i criteri predefiniti:
{
"RowCountUpperBoundForMerge": 16000000,
"OriginalSizeMBUpperBoundForMerge": 30000,
"MaxExtentsToMerge": 100,,
"MaxRangeInHours": 24,
"AllowRebuild": true,
"AllowMerge": true,
"Lookback": {
"Kind": "Default",
"CustomPeriod": null
}
}
Esempi di MaxRangeInHours
min(SoftDeletePeriod (criterio di conservazione), DataHotSpan (criteri di cache)) | Intervallo massimo in ore (criteri di unione) |
---|---|
7 giorni (168 ore) | 4 |
14 giorni (336 ore) | 8 |
30 giorni (720 ore) | 18 |
60 giorni (1.440 ore) | 36 |
90 giorni (2.160 ore) | 60 |
180 giorni (4.320 ore) | 120 |
365 giorni (8.760 ore) | 250 |
Avviso
Rivolgersi al team di supporto prima di modificare i criteri di unione degli extent.
Quando viene creato un database, viene impostato con i valori predefiniti dei criteri di unione indicati in precedenza. I criteri vengono ereditati per impostazione predefinita da tutte le tabelle create nel database, a meno che i criteri non vengano ignorati in modo esplicito a livello di tabella.
Per altre informazioni, vedere Comandi di gestione che consentono di gestire i criteri di merge per database o tabelle.