Index na rýchlo sa meniace stĺpec

0

Otázka

  1. Je pridávanie index na rýchlo sa meniace stĺpci ako "lastUpdatedOn" stojí za to ?
  2. Ako vypočítať kompromis ?
  3. Môže niekto miesto mňa na úradných dokladov na kedy a ako robí MySQL reindexes na riadok vloží a aktualizácie na indexovaný stĺpec.
indexing mysql sql
2021-11-24 06:35:34
1

Najlepšiu odpoveď

0

Či je index, vrátane "rýchlo sa meniace stĺpci" je to kompromis.

E UPDATE musí odstrániť jeden záznam v indexe a pridať nový záznam inde v indexe.

Na druhej strane, index môže výrazne urýchliť vzhľadom na index.

Uveďte konkrétny príklad, aby sme mohli diskutovať o kompromisy ďalej.

Pravidelné non-UNIQUE indexy (ako protiklad k FULLTEXT a SPATIAL) sú udržiavané tak:

Tam je "zmena rezervy" (qv) v buffer_pool, ktorý udržiava index aktualizácií, ktoré ešte neboli zapísané do disku.

Keď DELETE vyskytuje položka sa pridá do Zmena Rezervy povedať, že index záznam musí byť odstránená.

Pre UPDATE dva vstupy môžu sa musia dať do CB.

Keď SELECT používa ako index, skontroluje aj CB a reálne, na disku, BTree pre index. Že BTree je uložené vo vyrovnávacej pamäti (blok blok) v buffer_pool. (Blok je 16KB a môže mať sto(s) záznamov.)

CB je zapísané na disk "v pozadí" alebo "podľa potreby". Ktorý zahŕňa prijem index bloku (ak sa už vo vyrovnávacej pamäti), aktualizácia niektoré položky (delete, a/alebo pridať) a napíšte späť na disk. Oboch čítanie a písanie sú uložené vo vyrovnávacej pamäti v buffer_pool, tak buď, alebo ani môžu byť fyzické I/O.

MySQL nie je "obnoviť" pravidelné index ("preindexovanie") s výnimkou cez určité ALTERs alebo OPTIMIZE. To znamená, že všetky zmeny sú vyrobené na muchy. Činnosť CB je transparentné pre používateľa.

2021-11-24 22:29:11

V iných jazykoch

Táto stránka je v iných jazykoch

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