Condividi tramite


Criteri di unione

I criteri di unione definiscono se e in che modo gli extent (partizioni di dati) nel cluster 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:
    • Il valore predefinito è 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 rispetto Merge alle operazioni).
  • AllowMerge:
    • Il valore predefinito è "true".
    • Definisce se Merge le operazioni sono abilitate, nel qual caso sono meno preferite rispetto Rebuild 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 specificata CustomPeriod . CustomPeriod è un valore timespan.

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.