1. A method for dynamically querying databases, the method comprising: accessing a unified index associated with a first data repository of a first structure type and a second data repository of a second structure type; querying the first data repository of the first structure type; and querying the second data repository based on results of the querying of the first data repository; wherein the first and second data repositories are decided at query time using statistics, thereby selecting an efficient approach to answer a query.