What data is queried. Is it the most recent one moth data or 2 months or more. e.g. we have a situation where in our txn table we keep data for 6 months and then there is an archival job which archives the table for anything older than 180 days. This is because we know most of the queries will be from txn table not from archive table. And we have a separate report/query access for archive table. This way user is prepared for the delay when he pulls the report from archive table.
Keeping separate table for each month will be difficult to maintain, but then again depends on the requirement.