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.