1. A method for searching a database for data records relating to given search criteria comprising the steps of: creating an index of the data records that maps a record to a region of the database in which it is found; identifying regions of the database that contain data records relating to the given search criteria by accessing the index; constructing a query that corresponds to the given search criteria; and executing the query on the identified regions of the database to retrieve records matching the search criteria.