(Nota:esta respuesta aclara o no está de acuerdo con algunos de los comentarios ya escritos).
DELETEs
se ralentizan debido a la eliminación de las entradas del índice. UPDATEs
puede ralentizarse, depende de si se cambia una columna indexada.
SELECTs
, UPDATEs
y DELETEs
, pero no INSERTs
, necesita encontrar la(s) fila(s); para esto, un índice puede ayudar mucho.
Un INSERT
se daña una cantidad extra si hay un UNIQUE
índice para comprobar.
Claves secundarias (en InnoDB), excepto para UNIQUE
claves, se actualizan (generalmente debido a INSERTs
y DELETEs
, pero posiblemente debido a UPDATE
) de forma 'retrasada' a través de lo que se denomina "Change Buffer". Esto pospone efectivamente la actualización del índice, pero aún mantiene el índice totalmente utilizable.
Nada de esto se ve afectado por el orden de las columnas en un índice. Sin embargo, si un índice es más grande de lo que se puede almacenar en caché en la RAM, el "almacenamiento en caché" entra en juego y la E/S puede o no estar involucrada. Pero ese es otro tema.
En general, el beneficio de un índice de lectura supera con creces la ralentización de las operaciones de escritura.