Използвайте DAYOFWEEK във вашата заявка, нещо като:
SELECT * FROM mytable WHERE MONTH(event_date) = 5 AND DAYOFWEEK(event_date) = 7;
Тук ще намерите цялата информация за събота през май.
За да получите най-бързо четене съхранявайте денормализирано поле, което е денят от седмицата (и каквото друго ви трябва). По този начин можете да индексирате колони и да избегнете пълно сканиране на таблицата.
Просто опитайте първо горното, за да видите дали отговаря на вашите нужди и ако не, добавете няколко допълнителни колони и съхранете данните при запис. Просто внимавайте за аномалии при актуализиране (уверете се, че актуализирате колоната day_of_week, ако промените event_date).
Имайте предвид, че денормализираните полета ще увеличат времето, необходимо за запис, ще увеличат изчисленията при запис и ще заемат повече място. Уверете се, че наистина имате нужда от ползата и можете да измерите, че тя ви помага.