Sobes.tech
Middle

Jaká data by nem měla být indexována?

sobes.tech AI

Odpověď od AI

Následující datové typy by nem měly být indexovány:

  • Velká binární data (BLOBs/TEXTs): Indexování těchto polí vyžaduje velké množství paměti a diskového prostoru a hledání částečných shod textu v indexu není efektivní.
  • Pole s nízkou kardinalitou: Pole obsahující velmi málo unikátních hodnot (například logická pole, pole stavu s několika hodnotami) neposkytují významný přínos při hledání, protože index bude obsahovat mnoho duplicitních hodnot.
  • Často měnící se pole: Indexování takových polí vede k neustálým aktualizacím indexu, což může negativně ovlivnit výkon zápisových operací.
  • Pole, která jsou zřídka dotazována: Vytváření a údržba indexu pro taková pole není vhodná, protože náklady na údržbu převyšují výhody z urychlení zřídka používaných dotazů.
  • Pole s velkým počtem NULL hodnot: Ve většině databází NULL hodnoty nejsou zahrnuty do indexu nebo jsou neefektivně zpracovávány.
  • Odvozená nebo vypočítaná pole: Pro taková pole je obvykle lepší indexovat původní pole a používat predikáty (například WHERE podmínky) pro filtrování.

Při rozhodování o indexaci je důležité zvážit kompromis mezi urychlením čtení a zpomalením zápisu, stejně jako spotřebou zdrojů. Pravidelná analýza plánů provádění dotazů pomáhá určit, zda je stávající index efektivní nebo je třeba jej upravit.