En general, tiene que mirar sus consultas y anticipar qué columnas deben ser indexadas en función de las cosas que usa en las cláusulas WHERE. Entonces, probablemente necesitará analizar continuamente sus consultas y refinar su estrategia de índice a medida que el uso de su aplicación cambie o agregue nuevas funciones.
Ese es un enfoque muy BÁSICO. También podría ser más sofisticado y comparar la velocidad de lectura de múltiples índices de una sola columna frente a un índice compuesto (¡asegúrese de probar diferentes permutaciones de la orden!) Y también averiguar los diferentes niveles de sobrecarga de escritura.
Como puedes ver, decidir qué indexar es difícil. Las grandes empresas son lo suficientemente afortunadas como para tener DBA dedicados a este tipo de cosas, pero muchos desarrolladores no pueden darse el lujo de intercambiar la creación de funciones por el ajuste de la base de datos.
Esa es una de las razones clave por las que he estado trabajando en Concourse, que automáticamente indexa los datos por usted. De hecho, he escrito un blog que detalla por qué y cómo indexamos todas las cosas de una manera eficiente.
- ¿Qué puedo aprender ahora mismo en solo 10 minutos que podrían ser útiles para el resto de mi carrera como escritor?
- Estoy tomando CS50 a través de Harvard como aprendiz a distancia. He hecho cosas difíciles en mi vida, pero nada como esto. ¿Es normal cuando estás aprendiendo algo nuevo para sentirte tan abrumado?
- ¿Cuáles son las mejores maneras de aprender el teclado?
- ¿Cuál es la mejor manera de aprender a tocar el theremin?
- ¿Puedes dedicar 10,000 horas para aprender exitosamente la programación de computadoras gratis?