To se v podstatě scvrkává na to, zda je 10 indexů velikosti N efektivnější než jeden index velikosti N * 10. Pokud se podíváte čistě na čtení, pak by samostatné indexy měly být vždy rychlejší. Přidružené procházky b-stromem prozkoumají menší sadu klíčů atd.
Je však třeba zvážit několik bodů:
- Indexy v polích pole v zásadě indexují každý prvek pole samostatně. Režie vyhledávání jako taková bude nanejvýš 1-2 dodatečné kroky během procházky b-stromem, což je zanedbatelný výkon. Jinými slovy, budou téměř stejně rychlé.
- Mít 10 indexů může znamenat, že každá aktualizace/vložení bude vyžadovat aktualizaci více než jednoho indexu (v závislosti na tom, zda vaše indexy sdílejí pole nebo zda aktualizujete více než 1 časové razítko najednou). Toto je důležitý faktor výkonu.
- Použití indexu pole trochu usnadňuje přidávání dalších časových razítek (např. Timestamp10).
- Počet jmenných prostorů, které můžete použít na databázi, je omezen (24 kB) a každý index zabírá jeden. Pokud vytvoříte samostatný index pro pole, může to být problém.
- Nejdůležitější je, že index pole je mnohem přímočařejší a zjednoduší váš kód, a tím i udržovatelnost. Vzhledem k omezeným rozdílům ve výkonu bych řekl, že toto je nejsilnější motivace pro použití indexu pole.