Indice in rapida evoluzione in cui la colonna

0

Domanda

  1. È l'aggiunta di indice in rapida evoluzione colonna come "lastUpdatedOn" ne vale la pena ?
  2. Come calcolare il compromesso ?
  3. Qualcuno può indicarmi a documentazione ufficiale su quando e come non MySQL reindexes sulla riga di inserimenti e aggiornamenti su colonna indicizzata.
indexing mysql sql
2021-11-24 06:35:34
1

Migliore risposta

0

Se hanno un indice che include una "rapida evoluzione" della colonna è un compromesso.

Un UPDATE è necessario eliminare una voce di indice e aggiungere una nuova voce altrove nell'indice.

D'altra parte, l'indice può velocizzare notevolmente a causa dell'indice.

Si prega di fornire un esempio concreto, in modo siamo in grado di discutere i compromessi ulteriormente.

Regolare nonUNIQUE indici (invece di FULLTEXT e SPATIAL) sono gestiti così:

C'è un "cambio di buffer" (qv) in buffer_pool che mantiene gli aggiornamenti degli indici che non sono ancora stati scritti su disco.

Quando un DELETE si verifica, viene aggiunta una voce per la Modifica del Buffer di dire che la voce di indice deve essere rimosso.

Per UPDATE due voci , potrebbe essere necessario mettere in CB.

Quando un SELECT utilizza un indice, che controlla sia il CB e il reale, su disco, BTree per l'indice. Che Albero è in cache (blocco per blocco) in buffer_pool. (Un blocco è 16KB e che può contenere centinaia di(s) di voci).

Il CB viene scaricata su disco "in background" o "necessarie". Che prevede il recupero di un indice di blocco (a meno che già in cache), l'aggiornamento di alcune voci (eliminare e/o aggiungere), e scrivere su disco. Sia la lettura e scrittura vengono memorizzati nella cache in buffer_pool, in modo che l'uno o l'altro può essere un fisico di I/O.

MySQL non "ricostruire" un indice normale ("indicizza"), se non attraverso alcuni ALTERs o OPTIMIZE. Che è, tutte le modifiche sono fatte al volo. L'azione del CB è trasparente per l'utente.

2021-11-24 22:29:11

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................