PDF de programación - Optimizar nuestras consultas a base de datos MySQL

<<>>
Imágen de pdf Optimizar nuestras consultas a base de datos MySQL

Optimizar nuestras consultas a base de datos MySQLgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 20 de Febrero del 2018)
278 visualizaciones desde el 20 de Febrero del 2018
127,3 KB
3 paginas
Optimizar nuestras consultas a base de
datos MySQL

Optimizar MySQL es una tarea que debemos tener en mente desde el minuto cero al
empezar a programar. Por lo tanto es tarea de los programadores estructurar
apropiadamente, escribir peticiones apropiadas, y programar mejor código. A
continuación mostramos algunas técnicas de optimización MySQL.

En una consulta SELECT, hay que evitar en lo posible el uso del comodín “*”, e
indicar sólo los campos que se necesitan. Eso reducirá el tamaño de la consulta.
Considerar que cada campo extra genera tiempo extra.

Ejemplo:

      mysql> SELECT campo1, campo2 FROM table;

Usa frecuentemente el LIMIT.

Usa LIMIT 1 Cuando sólo quieras una única fila; en estos casos, añadir
LIMIT 1 a tu query puede mejorar significativamente la velocidad. De esta
forma la base de datos dejará de escanear resultados en el momento que
encuentre uno, en lugar de recorrer toda la tabla o un índice.
Esto es a la vez un consejo de rendimiento y de seguridad. Si estamos seguros
de que vamos a borrar un registro de la tabla, entonces podemos añadirle un
LIMIT 1 al final y así nos aseguraremos que no se borrará en ninguno de los
casos nada fuera de control. Esto es aplicable también para SELECTs y

UPDATEs.
Cuando la cantidad de resultados a devolver por MySQL no va a ser utilizada
en su conjunto, como cuando se usa un paginador, devolver la cantidad
apropiada utilizando la cláusula LIMIT.

Pruebe sus consultas con anterioridad, mediante el comando EXPLAIN; utilizar la
palabra clave EXPLAIN te dará muchos detalles internos de lo que hace MySQL
para ejecutar tu consulta.

Gracias a EXPLAIN podemos obtener toda la información sobre el modo
en el que una consulta SQL se ejecutaría en el servidor. Es
extremadamente útil para conocer la configuración de índices en las tablas, los
índices que podrían ser configurados para mejorar su rendimiento, el número
de filas que se revisan, el tipo de query, etc.

Ejemplo:

      mysql> EXPLAIN SELECT * FROM table;

Optimizar la cláusula WHERE:

Evite el uso de paréntesis innecesarios.
Use COUNT (*) sólo en consultas sin cláusula WHERE y que afecten a una
única tabla.
Si conoce que el resultado de una claúsula 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.

Especificar el alias de la tabla delante de cada campo definido en el SELECT, esto
le ahorra tiempo al motor de tener que buscar a que tabla pertenece el campo
especificado.
Utilizar INNER JOIN, LEFT JOIN, RIGHT JOIN, para unir las tablas en lugar
del WHERE, esto permite que a medida que se declaran las tablas se vayan
uniendo mientras que si utilizamos el WHERE el motor genera primero el producto
cartesiano de todos los registros de las tablas para luego filtrar las correctas, un
trabajo definitivamente lento.
No uses ORDER BY RAND(); el problema es que MySQL tendrá que ejecutar

RAND() (que requiere de potencia de procesado) para cada una de las filas antes
de ordenarlas y devolver una simple fila.
Usa NOT NULL si puedes; las columnas NULL requieren espacio adicional en la
fila a grabar donde los valores son NULL. Para las tablas MyISAM, cada columna
NULL toma un bit extra, redondeando hacia arriba al byte más cercano.
  • Links de descarga
http://lwp-l.com/pdf8909

Comentarios de: Optimizar nuestras consultas a base de datos MySQL (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad