Możliwe, że szybciej w tym przypadku zadziała po prostu zwykły LIKE (o ile masz indeks na kolumnie). Wystarczyłoby zrobić:
SELECT * FROM table_name WHERE date_column LIKE '2009-09-__';
Tam są 2 znaki "_", które oznaczają dowolny jeden znak (czyli __ = dowolne 2 znaki). Nie wiem czy wykorzystanie MONTH() pozwoli na użycie indeksu (strzelam, że nie) dlatego w tym przypadku LIKe może okazać się szybszy. Nie zmienia to faktu, że wykorzystanie MONTH() jest bardziej logiczne