Recientemente aceleré una consulta complicada en un orden de magnitud dando a SQLite un buen índice para trabajar. Resultados como este hacen que me pregunte si debería indexar muchos otros campos que se usan comúnmente para las cláusulas JOIN o ORDER BY. Pero no quiero exagerar y tener un efecto negativo en mí: supongo que debe haber algunas razones no para crear índices, o cada campo estaría indexado por defecto.¿Cuáles son las desventajas de tener muchos índices?
Estoy usando SQLite en este caso, pero, por supuesto, también es bienvenido el asesoramiento agnóstico de DBMS.
Eso lo cubre. No olvide que * necesita * índices adecuados para un buen rendimiento de inserción/actualización/eliminación, también. Como todas las cosas, es un equilibrio. Las inserciones –
no se benefician de los índices ... Las actualizaciones y eliminaciones requieren encontrar la (s) fila (s) relevante (s), por lo que se benefician de los índices para ese paso, pero luego si tiene muchos índices, incluso ese beneficio puede ser negado. Como dices, todo es un balance :) – MatBailie