(Poznámka:Tato odpověď objasňuje nebo nesouhlasí s některými již napsanými komentáři.)
DELETEs
jsou zpomaleny kvůli smazání položek rejstříku. UPDATEs
může být zpomalen -- záleží na tom, zda se změní indexovaný sloupec.
SELECTs
, UPDATEs
a DELETEs
, ale ne INSERTs
, potřeba najít řádek(y); k tomu může hodně pomoci index.
INSERT
je zraněno navíc, pokud existuje UNIQUE
index ke kontrole.
Sekundární klíče (v InnoDB), kromě pro UNIQUE
klíče, jsou aktualizovány (obvykle kvůli INSERT
a DELETEs
, ale pravděpodobně kvůli UPDATE
) „zpožděným“ způsobem prostřednictvím toho, co se nazývá „Change Buffer“. To účinně odkládá aktualizaci indexu, ale stále udržuje index plně použitelný.
Na nic z toho nemá vliv pořadí sloupců v indexu. Pokud je však index větší, než lze uložit do mezipaměti v paměti RAM, do hry vstupuje „ukládání do mezipaměti“ a vstup/výstup může, ale nemusí být zapojen. Ale to je jiné téma.
Obecně přínos z indexu pro čtení daleko převažuje zpomalení operací zápisu.