Recientemente he aprendido la maravilla de los índices, y el rendimiento ha mejorado drásticamente. Sin embargo, con todo lo que he aprendido, parece que no puedo encontrar la respuesta a esta pregunta.MySQL: ¿por qué no indexar todos los campos?
Los índices son geniales, pero ¿por qué alguien no podía simplemente indexar todos los campos para hacer que la tabla fuera increíblemente rápida? Estoy seguro de que hay una buena razón para no hacer esto, pero ¿qué hay de tres campos en una mesa de treinta campos? 10 en un campo de 30? ¿Dónde debería uno trazar la línea, y por qué?
intente insertar un valor en una tabla con más de 10k entradas indexadas, todas las entradas deben actualizarse debido a inserts/delete y esta es una gran sobrecarga de tiempo y algo de una sobrecarga de memoria si cada valor tiene un índice –
. Hay una razón más aparte del espacio y el rendimiento de escritura: usar [múltiples índices para una sola tabla es muy ineficiente] (http: //use-the-index-luke.com/sql/where-clause/searching-for-ranges/index-combine-performance). Eso significa que, incluso si tiene un índice en cada columna, el rendimiento de selección no es muy bueno si se accede a múltiples columnas en la cláusula WHERE. En ese caso, un índice de varias columnas es el mejor. –