1. Siempre hay que definir TODAS las restricciones de integridad que pueden aplicarse a una tabla (Primary Key, Foreign Key, Unique Key) porque de esta manera las optimizaciones JOIN serán automáticas.
  2. Hay que definir un índice para CADA COLUMNA que se usará en las consultas (cláusula WHERE) que no hayan sido definidos en el punto 1.
  3. Se deben actualizar los índices regularmente. Al hacer un backup éstos se actualizan automáticamente así que los backups frecuentes también tienen esa ventaja
  4. Se deben actualizar los índices de todas las tablas que tienen 10.000 filas o más cada vez que se insertan/borran/modifican el 25% de sus filas
  5. Una vez que se tienen muestras representativas de datos del mundo real en la Base de Datos se debe evaluar la usabilidad de los índices para eliminar aquellos que no ayudan en las consultas y para agregar nuevos índices que permitan aumentar la velocidad de las consultas
  6. Los índices que tienen poca selectividad (pocos valores distintos) son muy malos porque no ayudan en la velocidad de las consultas y en cambio hacen que las inserciones/borrados/modificaciones sean muy lentos
  7. Si un índice de poca selectividad se usa frecuentemente acompañado de otros índices entonces quizás sea preferible hacer un solo índice compuesto
  8. Si siempre/frecuentemente se usa un grupo de columnas para condiciones de filtro, un índice compuesto sobre esas columnas puede aumentar drásticamente la velocidad de las

    consultas. Pero esto se debe hacer solamente si uno no está satisfecho con la velocidad que proveen los índices sobre las columnas individuales.

 

Anuncios