Из других ваших вопросов он выглядит как SQL Server.
Уже даны 2 ответа на SQL Server: SARGable (ссылка) ;они не могут использовать индексы.
WHERE datecolumn < DATEADD(month, -3, GETDATE())
Создайте дату 3 месяца назад и проверьте ее;это позволит использовать индексы.Это утверждение справедливо для любой СУБД.
Если вы находитесь после полных календарных месяцев, например,
- текущая дата = 24-фев-2011
- 3 месяца назад =Ноябрь - 2010 (без учета дня месяца)
- обязательно = любая дата в ноябре 2010 года и ранее
WHERE datecolumn <= DATEADD(month, datediff(month, 0, getdate()) -2, 0)