1. A method comprising: storing a query that references multiple tables; analyzing content of the query to determine which of the multiple tables could be fact tables, wherein the multiple tables include one or more candidate fact tables that could be fact tables and one or more other tables that could not be fact tables; based at least in part on determining which of the multiple tables could be fact tables, generating an execution plan for the query, the execution plan operating on a candidate fact table of the one or more candidate fact tables and one or more candidate dimension tables of the referenced multiple tables other than the candidate fact table; wherein the execution plan, when performed, processes at least some data from at least one dimension using at least one of the one or more candidate dimension tables before processing at least some data from the candidate fact table; wherein the method is performed by one or more computing devices.