Criteri di unione

I criteri di unione definiscono se e come devono essere uniti gli extent (partizioni di dati) nel cluster.

Esistono due tipi di operazioni di merge: Merge, che ricompila gli indici e Rebuild, che esegue completamente il reesting dei dati.

Entrambi i tipi di operazione generano 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 diversidrop-by causerà l'unione di tali extent, anche se è stato impostato un criterio di merge. Per altre informazioni, vedere Tag extent.
  • Gli extent la cui unione di tag supera la lunghezza di 1M caratteri non verrà unita.
  • Anche i criteri di partizionamento orizzontale del database o della tabella hanno un effetto sul modo in cui gli extent vengono uniti.

Proprietà dei criteri di unione

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 a Ricompila.
  • OriginalSizeMBUpperBoundForMerge:
    • Il valore predefinito è 30.000.
    • Dimensioni massime consentite originali (in MB) dell'extent unito.
    • Si applica alle operazioni di merge, non a Ricompila.
  • 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 questo caso sono preferibili rispetto Merge alle operazioni).
  • AllowMerge:
    • Il valore predefinito è "true".
    • Definisce se Merge le operazioni sono abilitate, in questo 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 unite.
    • I timestamp sono di creazione dell'extent e non sono correlati ai dati effettivi contenuti negli extent.
    • Si applica alle operazioni Merge e Rebuild.
    • Nelle visualizzazioni 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 conservazioneeffettivi 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. Questo è il valore consigliato e predefinito, il cui periodo è attualmente impostato su 14 giorni.
      • All - Sono inclusi tutti gli extent, hot e cold.
      • HotCache - Sono inclusi solo gli extent ad accesso frequente.
      • Custom - Sono inclusi solo gli extent la cui età è inferiore a quella fornita CustomPeriod . CustomPeriod è un valore di intervallo di tempo.

Esempio di criteri predefiniti

L'esempio seguente mostra 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. Il criterio viene ereditato per impostazione predefinita da tutte le tabelle create nel database, a meno che i criteri non vengano sottoposti a override 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.