Uso de JOINs versus subconsultas en bases de datos MySQL

Optimización de consultas SQL

El rendimiento de una consulta en MySQL que utilice solamente JOINs versus otra que emplee subconsultas es relativo; esto depende mucho de la naturaleza del problema que necesites resolver. Puesto que la respuesta a esta incertidumbre es asociada más bien a la optimización de la consultas como un todo donde cada parte aporta un peso que puede ser revisado o expuesto con un analizador de consultas tal como hace el comando EXPLAIN de MySQL. En muchas ocasiones verás que la solución es usar una combinación de JOIN y subconsultas.

Sin embargo, en este post dejaremos lo anterior a un lado y nos enfocaremos solamente en comparar JOINs y subconsultas de manera independiente. Así podremos ver que existen algunos factores que inciden en esta comparación, describiremos en qué escenarios uno tiene ventaja sobre el otro, cómo proceder a evaluarlos hasta llegar a una conclusión.

Ver post

Evitar duraciones erróneas por la diferencia horaria con MySQL

MySQL

Es bastante usual la necesidad de desarrollar una aplicación web para usuarios de muchas regiones con diferentes zonas horarias, algunas de éstas van a incluir también horarios de verano o invierno (DST), por lo cual tu aplicación debe estar preparada para ajustarse automáticamente a los cambios de hora de los países y así evitar errores costosos con la aritmética de las fechas. En este post te explicaremos cómo evitar y prevenir esos problemas.

Ver post

Mantener la hora correcta con MySQL automáticamente

MySQL

La hora de MySQL se puede ver afectada por los cambios que los entes gubernamentales hacen a la hora local de los países pero también por la necesidad que tienen algunas regiones de adelantar o retrasar su hora dependiendo de la época del año para aprovechar la luz del día.

Lo ideal en estas situaciones es que MySQL haga el cambio del día y hora de forma automática, esto viene dado por la utilización de las zonas horarias (time zones en inglés). MySQL mantiene una serie de tablas en la base de datos mysql para almacenar esta información: time_zone, time_zone_name, time_zone_leap_second, time_zone_transition, y time_zone_transition_type.

Ver post

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Recibe consejos útiles y múltiples recursos directamente en tu correo