A query of the following, with an index on datecol should allow for stream aggregates
Select year(datecol) yr, month(datecol) mnth, count(1)
From largeTable
Group by year(datecol), month(datecol)
Further more accessing this via view
Select *
from summaryView where yr = 2001 should result in a predicate on datecol where datecol >= startOf 2001 and datecol <startof 2002