DISEÑO Y MEJORA EN LA BASE DE DATOS

  

MEJORAR LAS CONSULTAS A LA BASE DE DATOS


Tenga siempre presente las consultas tipo que se van a realizar sobre su base de datos, durante el proceso de diseño. Eso le permitirá optimizar al máximo su estructura para obtener los mejores resultados.
  • Cuando se realiza una consulta SELECT, hay que evitar en lo posible el uso del comodín “*”, e indicar sólo los campos imprescindibles que se necesitan. Eso reducirá el tamaño de la consulta.
  • Evite en lo posible el uso de LIKE. Las comparaciones entre campos de texto (BLOB, TEXT…) ralentizan las consultas. Si fuera necesario, cree índices fulltext para los campos de texto sobre los que vaya a efectuar consultas.
  • Evite también el uso de GROUP BY, ORDER BY o HAVING.
·         Pruebe sus consultas con anterioridad, mediante el comando EXPLAIN. Le mostrará un listado informativo sobre cómo se realiza la consulta.
  • Evite el uso de paréntesis innecesarios.
  • Si conoce que el resultado de una clausula GROUP BY o DISTINCT va a ser muy reducido haga uso de la opción SQL_SMALL_RESULT. MySQL usará tablas temporales de acceso rápido para el resultado en vez métodos de ordenación.
·         Para añadir registros a sus tablas, es más eficiente realizar una inserción múltiple que varias inserciones por separado.
  • Encole la inserción de datos para evitar esperas innecesarias, mediante el uso de la sentencia INSERT DELAYED. La inserción se encola (agrupándose en bloques para ejecutarse de forma más eficiente) a la espera de que la tabla afectada no esté siendo utilizada por ningún otro proceso.
·         Dé prioridad a las sentencias de lectura (SELECT) frente a las de escritura (INSERT):

MEJORAR LOS SCRIPTS

*      Reduzca el tiempo y número de conexiones a la base de datos:
            Evite que el tratamiento de la información y la presentación de la misma se realicen                   dentro del tiempo de conexión. Para ello, almacene la consulta en alguna variable para             tratar los datos posteriormente.
            Si necesita hacer varias consultas independientes, agrúpelas para realizar una única                 conexión para todas ellas.
*      Pagine los resultados. Limite la presentación a un número máximo (por ejemplo, 10 por página) con la opción LIMIT al final de su consulta.
*      Utilice algún sistema de caché para reducir los accesos a la base de datos, en casos de información poco cambiante que se consulte con frecuencia.
Por ejemplo, puede usar alguna variable de sesión si hay datos de alguna búsqueda que se tengan que mostrar en varias páginas. Eso evitará repetir la consulta por cada página.
*  Realice consultas sólo de la información imprescindible. No meta en el SELECT campos que no vaya a necesitar, y no olvide introducir un criterio de búsqueda correcto en el WHERE si relaciona varias tablas.


  

No hay comentarios:

Publicar un comentario