sql >> Base de Datos >  >> RDS >> Mysql

Seleccione el día de la semana a partir de la fecha

Use DAYOFWEEK en su consulta, algo como:

SELECT * FROM mytable WHERE MONTH(event_date) = 5 AND DAYOFWEEK(event_date) = 7;

Aquí encontrarás toda la información de los sábados de mayo.

Para obtener las lecturas más rápidas almacene un campo desnormalizado que es el día de la semana (y cualquier otra cosa que necesite). De esa manera, puede indexar columnas y evitar escaneos completos de tablas.

Simplemente intente lo anterior primero para ver si se adapta a sus necesidades y, si no es así, agregue algunas columnas adicionales y almacene los datos en escritura. Solo tenga cuidado con las anomalías de actualización (asegúrese de actualizar la columna day_of_week si cambia event_date).

Tenga en cuenta que los campos desnormalizados aumentarán el tiempo necesario para realizar escrituras, aumentarán los cálculos al escribir y ocuparán más espacio. Asegúrate de que realmente necesitas el beneficio y puedes medir que te ayuda.