Siento que esta es una optimización prematura porque nuestra aplicación aún no se ha lanzado. Sugerí monitorear las consultas lentas una vez que entremos en vivo y luego agregar índices en consecuencia.
No puede tratar a sus usuarios finales y entorno de producción como garantía de calidad. En otras palabras, estás diciendo que lo resolverás en producción. No creo que sea el camino correcto, y veo que ese enfoque sale terriblemente mal todos los días .
Debe tener una cosa en mente, ya que no puede pintar esto con un pincel ancho.
¿Cuál es su carga de trabajo común ?
Eso puede sonar obvio o aburrido, pero es significativo en la práctica. Si tiene 10 consultas que representan el 98% de su carga de trabajo (bastante común, créalo o no), mi recomendación sería un análisis difícil antes de la producción . Con datos realistas y representativos, asegúrese de que esas 10 consultas sean tan buenas como sea posible ( perfecto es una pérdida de tiempo valioso y casi no se puede lograr).
Para las otras 200 consultas que conforman el 2% de la carga de trabajo , esas son las que probablemente no valgan la pena, y compensarán las rarezas de solución de problemas de rendimiento de esquina en la producción. Eso también es una realidad, y no es una cosa terriblemente mala. Pero eso no significa ignorar las mejores prácticas de indexación o hacer suposiciones estimadas sobre la recuperación de datos.
Es común y una buena práctica averiguar el rendimiento de la base de datos antes de la producción. De hecho, hay una posición relativamente común para este tipo de cosas llamada DBA de desarrollo .
Pero...
Algunos llevan eso demasiado lejos y se vuelven locos agregando índices "por si acaso". Alguien recomienda que este sea un índice faltante? Agréguelo y otras cuatro variaciones. También una mala idea. No solo debe pensar en la recuperación de sus datos, sino en la modificación de datos. Cuantos más índices tenga en una tabla, en general, más sobrecarga tendrá cuando modifique los datos.
Como la mayoría de las cosas, hay un equilibrio saludable.
Como una pequeña nota al margen divertida ... La pluralización de "Índice"
Los "índices" son para personas financieras
Los "índices" son para nosotros